找不到Visual Studio 2012 CallerMemberName

时间:2014-06-12 18:22:06

标签: c# silverlight visual-studio-2012

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

我想要做的第一件事就是开始使用[CallerMemberName]属性,这样我就不必对属性名称字符串进行硬编码。

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

"类型或命名空间名称' CallerMemberNameAttribute'找不到(你错过了使用指令或汇编引用吗?)"

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

由于没有Google搜索返回有关我可能无法在VS2012 / Silverlight中使用它的原因的任何信息,因此这引起了我的反响。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:8)

您所定位的Silverlight版本看起来并不包含该属性。

然而,那没关系;你可以自己定义它:

namespace System.Runtime.CompilerServices {
    sealed class CallerMemberNameAttribute : Attribute { }
}