2010-05-21 14 views
6

मेरे पास दो कस्टम विशेषताओं को परिभाषित किया गया है:वर्ग या गुणों के गुणों को सीमित कर रहा है?

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; } 
} 

मैं वर्गों में स्कीमाएट्रिब्यूट को प्रतिबंधित करना चाहता हूं, और गुणों को विशेषता एट्रिब्यूट करना चाहता हूं।

क्या यह करने योग्य है?

+0

पर देखो तुम मेरे सवाल का मिल जाए काफी अच्छा किसी और मदद करने के लिए है, वोट दें कृपया। धन्यवाद! =) –

उत्तर

10

AttributeUsage और AttributeTargets देखें।

यह कुछ देखने की तरह होगी:

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

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

+1 - मेरा से काफी बेहतर है। –

4

AttributeTargetAttribute

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

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

+1 आपके उत्तर के लिए धन्यवाद! =) –

संबंधित मुद्दे