使用反射,如何检测具有setter的属性?

时间:2010-08-02 17:48:42

标签: c# reflection

我有这个代码循环遍历一个对象并通过反射获得它的所有属性:

foreach (var propertyInfo in typeof(TBase).GetProperties(BindingFlags.Public | BindingFlags.Instance))
{
    var oldValue = propertyInfo.GetValue(oldVersion, null);
}

如何检查只查看其上有“设置”的属性? (我想忽略只读值 - 只是“获取”。)

2 个答案:

答案 0 :(得分:101)

PropertyInfo.CanWritedocumentation

PropertyInfo.GetSetMethoddocumentation

答案 1 :(得分:15)

propertyInfo.GetSetMethod() != null