【发布时间】:2013-11-13 22:53:24
【问题描述】:
有没有办法(在 c# .Net 4.0 中)以强类型方式提供对象属性名称? 例如,如果我们有一个对象 Person
Public class Person{
public string Name { get; set; }
public int Age { get; set; }
}
我想将参数名称、年龄属性名称发送给其他方法,但不是字符串,而是强类型:
SomeMethodThatWantToKnowKeys(Person.Name,Person.Age);
我想要实现的是,如果有人更改属性名称,他将不得不更改他发送到“SomeMethodThatWantToKnowKeys”的属性名称。 也许是反思? 更好的方法是不更新对象 itsef 或创建它的实例。
【问题讨论】:
-
请更具体并完善您的问题,很难理解您所追求的。
-
当您决定现在发送名字而不是姓名时,您是说想让
Method(string name)变成Method(string firstname)? -
是的,有办法做到这一点。搜索“强类型 INotifyPropertyChanged”或类似内容以查看该技术。
-
顺便说一下,这是
string Name,而不是Name string。 -
看看我的一个问题是否有帮助:stackoverflow.com/questions/16154172/… ... 这让我可以传入 () => p.Name。
标签: c# .net reflection