我有两个自定义属性,如下所示:
internal class SchemaAttribute : Attribute {
internal SchemaAttribute(string schema) {
Schema = schema;
}
internal string Schema { get; private set; }
}
internal class AttributeAttribute : Attribute {
internal AttributeAttribute(string attribute) {
Attribute = attribute;
}
internal string Attribute { get; private set; }
}
我想将SchemaAttribute限制为类,将AttributeAttribute限制为属性。
这可行吗?
答案 0 :(得分:14)
结帐AttributeUsage和AttributeTargets。
它看起来像是:
[AttributeUsage(AttributeTargets.Class)]
internal class SchemaAttribute : Attribute
{
// Implementation
}
[AttributeUsage(AttributeTargets.Property)]
internal class AttributeAttribute : Attribute
{
// Implementation
}
答案 1 :(得分:4)
[AttributeTarget(AttributeTargets.Class)]
internal class SchemaAttribute : Attribute
...
[AttributeTarget(AttributeTargets.Property)]
internal class AttributeAttribute: Attribute
...