C# CallerMemberNameAttribute和.Net 4

C# CallerMemberNameAttribute和.Net 4,c#,C#,全部, 我注意到在.NET4.5中有一个CallerMemberName属性,Blend专门用来从调用方法引发PropertyChanged事件。我的问题是,由于该属性在.NET4.0中不存在,是否可以通过创建自定义属性以某种方式复制该行为?非常感谢代码示例。您正在寻找的行为是C#5.0编译器的一项功能 只要您使用支持它的编译器,您就可以创建自己的System.ComponentModel.CallerMemberNameAttribute,它会很好地工作。只是一个警告(针对OP):这在以后升级

全部,


我注意到在.NET4.5中有一个CallerMemberName属性,Blend专门用来从调用方法引发PropertyChanged事件。我的问题是,由于该属性在.NET4.0中不存在,是否可以通过创建自定义属性以某种方式复制该行为?非常感谢代码示例。

您正在寻找的行为是C#5.0编译器的一项功能


只要您使用支持它的编译器,您就可以创建自己的
System.ComponentModel.CallerMemberNameAttribute
,它会很好地工作。

只是一个警告(针对OP):这在以后升级框架时可能会有问题,特别是如果这是可能也在4.5中使用的库代码project@MarcGravell:将其设置为
内部
应该可以解决这个问题(尽管我还没有尝试过),这是用于.Net 4.0项目中使用的代码,在部署时将包括XP计算机。如果有人偶然发现这一点,想了解如何创建自己的CallerMemberNameAttribute,