找不到Visual Studio 2012 CallerMemberName

Our*_*int 1 c# silverlight visual-studio-2012

我刚刚安装了Visual Studio 2012,因此我可以利用更好的方法来使用Silverlight实现MVVM.

我想要做的第一件事是开始使用[CallerMemberName]属性,所以我不必硬编码属性名称字符串.

我创建了一个新的Silverlight应用程序,创建了一个新类,包括'using System.Runtime.CompilerServices',然后继续输入[CallerMemberName].但是,我收到错误:

"找不到类型或命名空间名称'CallerMemberNameAttribute'(您是否缺少using指令或程序集引用?)"

但是,我确实包含了using指令,并且没有其他需要引用的程序集.

由于没有谷歌搜索返回有关我可能无法在VS2012/Silverlight中使用它的原因的任何信息,这让我感到震惊.我该如何解决?

SLa*_*aks 8

看起来您正在定位的Silverlight版本不包含该属性.

但是,那没关系; 你可以自己定义它:

namespace System.Runtime.CompilerServices {
    sealed class CallerMemberNameAttribute : Attribute { }
}
Run Code Online (Sandbox Code Playgroud)