对最高一级属性的反思

时间:2010-09-20 22:39:02

标签: c# reflection propertyinfo

class CBase
{
 object A {get;set;}
 object B {get;set;}
}

class CDerived : CBase
{
 object X {get;set}
 object Y {get;set;}
}

我正在尝试获得第一级属性。对于上面的示例,预期属性是X和Y,而不是A和B.使用以下代码,我将获得所有属性{A,B,X,Y}。有没有属性签名的解决方案。

foreach (var propertyInfo in typeof(CDerived).GetProperties())
{
 propertyInfo.SetValue(model, row[propertyInfo.Name], null);
}

1 个答案:

答案 0 :(得分:2)

尝试在DeclaredOnly来电中使用GetProperties绑定标记。这应该限制返回到指定的继承(类)级别的属性。