重写属性的继承属性时有很好的question。覆盖子类中的继承类属性
假设一个属性:
[AttributeUsage(AttributeTargets.All, Inherited = true)]
public class MyAttributeAttribute : Attribute
//...
public class ParentClass
{
[MyAttribute]
public String MyString;
}
public class ChildClass : ParentClass
{
new public String MyString; //Doesn't have MyAttribute
}
但是如果MyAttribute
设置为一类?
[MyAttribute]
public class ParentClass
public class ChildClass; //Don't want MyAttribute
有没有一种方法,使ChildClass不会继承属性?
背景:纯粹的理论。我想让一个属性是可继承的,并且想要知道,如果情况在某天发生,如果我可以覆盖它。
好了,你的第一个例子是完全有_No relation_到'ParentClass.MyString'宣布的新成员;没有压倒一切,自然属性不会被共享。我知道用反射,你可以获得属性,或者专门针对目标类型进行声明,或者将其扁平化以包含来自任何继承类的所有属性。 –
@ChrisSinclair你是对的。我的措辞是不正确的。 – MPelletier