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

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

这可行吗?

最佳答案

checkout AttributeUsageAttributeTargets

它看起来像:

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

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

关于c# - 将属性限制为类或属性是否可行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2884411/

10-10 13:59