【发布时间】:2013-10-17 01:41:13
【问题描述】:
以下是我目前的情况......
public string Zip { get { return this.GetValue<string>("Zip"); } set { this.SetValue("Zip", value); } }
我想使用反射使这个动态化。 如,将属性的类型和名称传递给方法。我不确定如何去做,或者是否有可能。感谢您的帮助。
编辑:感谢 KooKiz,我能够更进一步,但仍然不是 100%。
public string Zip { get { return this.GetValue<string>(); } set { this.SetValue(value); } }
【问题讨论】:
-
未问的问题:你为什么要这样做?如果您要定义很多这样的属性,那就是代码生成的目的。 T4 包含在 VS 中。
-
如果您使用的是 .NET 4.5,您可能需要查看
CallerMemberName属性:msdn.microsoft.com/en-us/library/… -
@KooKiz 相当漂亮。这看起来很方便记录。
-
在实现
INotifyPropertyChanged时经常会遇到类似的问题,并且经常建议将rewriting he assembly after it has been built 作为解决方案。它也应该在这里工作:写public string Zip { get; set; },C# 编译器创建的东西不能按照你想要的方式工作,后处理器将它重写为你想要的工作方式。
标签: c# dynamic reflection properties