2009-02-25 130 views
0
聲明

我有兩個類屬性測試是否在派生類

public class A 
{ 
    public int BaseA 
{get;set;} 
} 

public Class B: A 
{ 
public int BaseB 
{get;set;} 
} 

我可以通過使用typeof(B)獲得B類屬性.GetProperties()。但是,這將包括BaseA和BaseB屬性。但我只想獲得BaseB屬性。

注:我找到了解決辦法,這是

B boy = new B(); 
      var pList = boy.GetType().GetProperties(BindingFlags.Public | 
        BindingFlags.DeclaredOnly | 
        BindingFlags.Instance); 
      Assert.AreEqual(1, pList.Length); 

類似的解決方案can be found here

回答

3

查看在調用Type.GetProperties()時使用BindingFlags.DeclaredOnly。

+0

對不起!它確實有效。 – Graviton 2009-02-25 04:33:44