我刚刚安装了Visual Studio 2012,因此我可以利用Silverlight实现MVVM的更好方法。
我想要做的第一件事就是开始使用[CallerMemberName]属性,这样我就不必对属性名称字符串进行硬编码。
我创建了一个新的Silverlight应用程序,创建了一个新类,包括使用System.Runtime.CompilerServices',然后继续键入[CallerMemberName]。但是,我收到错误:
"类型或命名空间名称' CallerMemberNameAttribute'找不到(你错过了使用指令或汇编引用吗?)"
但是,我确实包含了using指令,并且没有其他需要引用的程序集。
由于没有Google搜索返回有关我可能无法在VS2012 / Silverlight中使用它的原因的任何信息,因此这引起了我的反响。我该如何解决这个问题?
答案 0 :(得分:8)
您所定位的Silverlight版本看起来并不包含该属性。
然而,那没关系;你可以自己定义它:
namespace System.Runtime.CompilerServices {
sealed class CallerMemberNameAttribute : Attribute { }
}