找出属性有SET访问者

时间:2014-03-06 14:19:19

标签: c#-4.0

我正在遍历所有类属性,需要找出哪些属性只有GET个访问者,哪个属性GET and SET。我尝试使用propertyInfo.GetAccessors()但不确定如何从MethodInfo[]返回的对象中找出分配给属性的访问者。有什么想法吗?

var type = typeof(Word2Pdf);
foreach (var propertyInfo in type.GetProperties(BindingFlags.Public | BindingFlags.Instance))
{
    MethodInfo[] methodInfos = propertyInfo.GetAccessors();
}

1 个答案:

答案 0 :(得分:0)

如果您只想知道是否可以写入该属性,PropertyInfo.CanWrite是最容易找到的方法。

如果您希望获得MethodInfo进行进一步处理,请使用GetSetMethod。无参数重载只能获得公共设置者;具有布尔参数的那个也可以获得非公共参数。