2012-02-27 13 views
41

सी # वर्ग घोषणा से पहले आने वाले स्क्वायर ब्रैकेट में क्या बात है?

[something] 
public class c1 { 

} 

सी # में कहा जाता है में [something] क्या है? यह क्या करता है?

+8

उन्हें गुण कहा जाता है। –

+1

बस उस पर राइट क्लिक करें * चयन करें * – Oliver

+0

संभावित डुप्लिकेट [\ [\] ब्रैकेट्स .net में क्या है?] (Http://stackoverflow.com/questions/2968597/what-is-brackets-in -नेट) – Joe

उत्तर

12

इसे एक विशेषता अनुप्रयोग/उपयोग के रूप में जाना जाता है। यह एक प्रकार के साथ दिए गए Attribute का एक उदाहरण संलग्न करता है। ये उपयोगकर्ता निश्चित आइटम हैं। उदाहरण

[AttributeUsage(AttributeTargets.All)] 
public class ExampleAttribute : System.Attribute { 
    public ExampleAttribute() { } 
} 

के लिए यह है कानूनी

// Assembly level 
[assembly: Example] 

// Class 
[Example] 
public class C1 { 
    // Field 
    [Example] 
    public int m_field; 

    // Method 
    [Example] 
    public void Test() { } 
} 

अधिक स्थानों संभव हो रहे हैं, लेकिन उम्मीद है कि इस सामान्य विचार भर में हो जाता है एक विशेषता है जो कभी एक विशेषता जगह पर लागू किया जा सकता है। आप भी इस ट्यूटोरियल

+0

* '* * * * विधानसभा के बाद नहीं जाना चाहिए? – svick

+0

@svick हाँ इसे चाहिए। निश्चित – JaredPar

2

इसका एक गुण कहा जाता है की जाँच कर सकते हैं। एक वर्ग है कि "गुण" में समाप्त होता है, और गुण से विरासत:

public class SomethingAttribute : Attribute { 

} 

आप एक बना रहे हैं, AttributeUsageAttribute वर्ग को देखने के लिए सुनिश्चित करें।

+2

ध्यान दें कि 'विशेषता' वाले विशेषता वर्ग के नाम को समाप्त करना एक सम्मेलन है; यह एक आवश्यकता नहीं है। – phoog

+0

बिल्कुल सही। सम्मेलन जहां संभव हो पालन करने के लिए अच्छे हैं। –

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