【发布时间】:2013-11-09 22:04:15
【问题描述】:
我在Myclass有一处房产:
public class MyClass{
public string FirstName {get;set;}
}
如何在没有字符串的情况下获得PropertyInfo(使用GetProperty("FirstName"))?
今天我用这个:
PropertyInfo propertyTitleNews = typeof(MyClass).GetProperty("FirstName");
有没有这样的使用方法:
PropertyInfo propertyTitleNews = typeof(MyClass).GetProperty(MyClass.FirstName);
?
【问题讨论】:
-
似乎如果您可以访问类的属性,那么您就不需要反射开始了。如果这是 .NET 4 或更高版本,您是否尝试过使用 Dynamic 关键字?
-
是的,有可能。 look at this answer.
-
我同意洛克的观点。这没有多大意义。当您创建属性的唯一方法是从字符串中时,您通常会使用反射。
-
@Szymon 不,一般来说它确实有意义,因为
PropertyInfo拥有的信息不仅仅是属性的类型及其值。 -
当心所有涉及成员表达式的答案。有一个绊倒的角落案例:stackoverflow.com/questions/6658669/…!这样做不是很安全
标签: c# reflection