将属性限制为类或属性是否可行?

时间:2010-05-21 18:02:20

标签: c# vb.net .net-2.0 attributes custom-attributes

我有两个自定义属性,如下所示:

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限制为属性。

这可行吗?

2 个答案:

答案 0 :(得分:14)

结帐AttributeUsageAttributeTargets

它看起来像是:

[AttributeUsage(AttributeTargets.Class)]
internal class SchemaAttribute : Attribute
{
    // Implementation
}

[AttributeUsage(AttributeTargets.Property)]
internal class AttributeAttribute : Attribute
{
    // Implementation
}

答案 1 :(得分:4)

查看AttributeTargetAttribute

[AttributeTarget(AttributeTargets.Class)]
internal class SchemaAttribute : Attribute
...

[AttributeTarget(AttributeTargets.Property)]
internal class AttributeAttribute: Attribute
...
相关问题