我试图用类级别定义一个CustomAttribute,我希望将此属性传播到该类的所有属性。
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property)]
public class MyCustomAttribute : Attribute
{
}
[MyCustom]
public class MyClass
{
public int A { get; set; }
public int B { get; set; }
public int C { get; set; }
}
我希望属性A,B和C也已分配MyCustomAttribute。我知道我可以为每个属性定义属性。但是我想在类级别定义Attribute。
有可能吗?
答案 0 :(得分:0)
这是不可能的,但是取决于您使用custom属性的方式,您可以让它检查定义属性的类,即I.E。
public static bool IsDefinedOnPropertyOrClass(PropertyInfo info, Type attributeType)
{
return info.IsDefined(attributeType) || info.DeclaringType.IsDefined(attributeType);
}