我已经编写了一些代码来使用反射查看属性。我已经使用反射从类中检索了一个属性列表。
但是我需要查明该属性是公共(public)的还是 protected 。例如:
public string Name{get;set;}
protected int Age{get;set;}
PropertyInfo 类似乎没有公开有关该属性的信息。还有其他方法吗?
最佳答案
由于属性只是一对 get
/set
方法的语法糖,因此不存在属性反射方面的“可访问性”这样的东西。相反,您必须分别找出 get
和 set
方法的可访问性级别。为此,使用 GetGetMethod
检索适当的 MethodInfo
对象和 GetSetMethod
方法,并且有各种IsPrivate
、IsPublic
等方法和属性。
关于c# - 使用反射检测属性上的访问修饰符类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2426134/