2010-05-21 15 views
6

Şu şekilde tanımlanmış iki özel özniteliğim var:Öznitelikler sınıf veya özelliklerle kısıtlanabilir mi?

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 öğelerini sınıflara ve AttributeAttribute özelliklerini kısıtlamak istiyorum.

Bu yapılabilir mi?

+0

at: gibi

Bir şey bakacağız. Teşekkürler! =) –

cevap

10

AttributeUsage ve AttributeTargets'a bakın. , Upvote lütfen başkası yardımcı olmak için yeterince iyi olmadığını soruma bulursanız

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

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

+1 - Benimkinden çok daha iyi. –

4

Bak AttributeTargetAttribute

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

[AttributeTarget(AttributeTargets.Property)] 
internal class AttributeAttribute: Attribute 
... 
+0

+1 Cevabınız için teşekkürler! =) –