c# - 找不到 Visual Studio 2012 CallerMemberName

标签 c# silverlight visual-studio-2012

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

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

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

“找不到类型或命名空间名称‘CallerMemberNameAttribute’(是否缺少 using 指令或程序集引用?)”

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

这让我感到困惑,因为没有 Google 搜索返回任何关于为什么我可能无法在 VS2012/Silverlight 中使用它的信息。我该如何解决这个问题?

最佳答案

看起来您所针对的 Silverlight 版本不包含该属性。

不过,没关系;你可以简单地自己定义它:

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

关于c# - 找不到 Visual Studio 2012 CallerMemberName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24191359/

相关文章:

c# - 为什么 Culture Info 在 .NET Core MVC 中的 Controller 和 View 中不同

multithreading - 在非 UI 线程上运行 RIA 服务

c# - 检测互联网连接是否繁忙

C# VSTO Outlook 插件 - 调试文本选择事件?

Winform 或 Silverlight

wcf - MVVM 和 WPF - View 模型和模型关系

c++ - 如何在没有项目的情况下在 Visual Studio 2012 中只编译一个文件(C++)?

.net - 在 Try/Catch 内部,Visual Studio 中断并结束未处理异常的应用程序

c++ - 清除 __m128i 的高位字节

c# - 为什么将游戏对象的移动限制在相机框架内会阻止移动?