給出的是下面的類結構:思考一個重載領域的返回字段多次
public class A{
[MyAttribute1]
public string field;
}
public class B : A{
[MyAttribute2]
[MyAttribute3]
public string field;
}
反射現在我試圖找出如果字段屬性「MyAttribute2」與否。 但我得到以下的輸出:
foreach (FieldInfo field in TypeOfB.GetFields(BindingFlags.Public | BindingFlags.Instance))
{
Console.Write(field.DeclaringType);
Console.Write(" : ");
Console.Write(field.GetCustomAttributes(false).Length);
Console.Write("\n");
}
//Output:
A.field : 1
B.field : 2
的預期結果是:
B.field : 3
現在的問題。任何人都可以解釋爲什麼我得到兩場「場」而沒有結合?最重要的是,誰能告訴我我是如何做對的?
但覆蓋工程..只有我的反射問題存在 – Floyd
編輯後..好吧我明白 – Floyd