Jer*_*all 26 .net wpf .net-4.5
所以.NET 4.5引入了CallerMemberNameAttribute
,对于任何使用WPF并实现的人来说,这似乎是天赐之物INotifyPropertyChanged
- 我的问题是:4.5 5.0编译器本质上是否绑定/支持该属性,还是更多的环境语法糖助手,就像人们可以通过声明ExtensionAttribute
自己的神奇,打开LINQ语法来伪造Visual Studio一样?
编辑:(对不起Jon!)我想我是否可以CallerMemberNameAttribute
通过在适当的命名空间中重新声明属性来"启用" .NET 4.0中的功能,就像在.NET中"启用"LINQ查询语法一样2.0通过适当的ExtensionAttribute
类声明.我强烈的怀疑是不,自然......
换句话说:我想知道如果CallerMemberName
不升级到.NET 4.5/5,我是否可以从中受益
希望这更清楚......
NinjaEdit#2:叹息......版本编号惯例令人困惑!
Jul*_*ain 50
是的,就像你说的那样,你可以使用LINQ和.NET 2.我在使用VS2012编译器的.NET 4.0项目中使用以下成功:
namespace System.Runtime.CompilerServices {
[AttributeUsage(AttributeTargets.Parameter, AllowMultiple = false, Inherited = true)]
public sealed class CallerMemberNameAttribute : Attribute {
}
}
Run Code Online (Sandbox Code Playgroud)
要非常小心,项目中的每个人都在使用VS2012,否则他们会得到无声的错误,因为CallerMemberNameAttribute
没有做任何事情,null
并作为参数默认传递.
编辑2013-06-28:考虑安装Microsoft.Bcl NuGet包,它CallerMemberNameAttribute
为.NET 4和Silverlight 提供(以及.NET 4.5中的一些其他类),而不是手动执行.
归档时间: |
|
查看次数: |
11566 次 |
最近记录: |