属性类的继承如何在 C# 中工作?为了澄清,我说的是属性类本身(即 的基类System.Attributes
)的继承,而不是碰巧将它们作为属性的任何类。
出于某种原因,我似乎在这方面找不到任何东西(我的搜索总是以其他含义出现)。
例如,如果 a 有一个AttributeA
扩展类System.Attribute
:
我是否必须单独标记
AttributeA
with的子类[AttributeUsage()]
?(由于System.AttributeUsage
的继承是true
,我想我不会。)会阻止我拥有多个for 属性
AllowMultiple=false
的子类吗?AttributeUsage
AttributeA
AttributeA
编辑:
程序员只能阅读代码。
[AttributeUsage(AttributeTargets.Class, AllowMultiple=false)]
class AttributeA
{ }
class AttributeB : AttributeA
{ }
class AttributeC : AttributeA
{ }
[AttributeB]
[AttributeC]
class Foo
{ }
这行得通吗?