给出的是下面的类结构:思考一个重载领域的返回字段多次
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