2010-08-02 5 views
7

पाने के लिए मैं इस कोड है:कैसे गुण मूल्य

[MyAttribute(CustomAttribute="Value")] 
class MyClass 
{ 
    // some code 
} 


Main() 
{ 
    MyClass a = new MyClass(); 
} 

कैसे उदाहरण एक के लिए CustomAttribute का मूल्य प्राप्त करने के लिए?

उत्तर

3
की पंक्तियों के साथ

:

MyAttribute [] myAttributes 
    = (MyAttribute [])a.GetType().GetCustomAttributes(typeof(MyAttribute),true); 

समझ सकते हैं नहीं आप "foreach का उपयोग किए बिना" द्वारा क्या मतलब है, सिवाय इसके कि GetCustomAttributes हमेशा उनमें से एक सरणी (खाते में अनेक विशेषताएं होने के लिए) रिटर्न । यदि आप जानते हैं कि केवल एक ही हो सकता है, तो बस पहले का उपयोग करें।

MyAttribute theAttrib = myAttributes[0]; 
Console.WriteLine(theAttrib.CustomAttribute); 
+0

"समझ में नहीं कर सकते हैं आप से क्या मतलब है" foreach का उपयोग कर "" बिना -> मैं कुछ बुरा उदाहरण है कि foreach का उपयोग पढ़ने के लिए सभी विशेषताओं – Dusan

+0

मूल्य को खोजने हाँ, पर बुरा उदाहरण सिर्फ इतना है कि कर रहे हैं - उदाहरण - आपको वह ज्ञान लेना चाहिए जो वे देते हैं और इसका उपयोग करते हैं कि आप फिट कैसे देखते हैं। – Jamiec

3

यहाँ एक अच्छा नमूना है:

http://msdn.microsoft.com/en-us/library/z919e8tw.aspx

एक foreach आप ग्रहण करने के लिए कोई अन्य विशेषताओं प्रकार लागू किया जा रहा देखते हैं होता है बिना ऐसा करने के लिए, और सूचकांक पहली विशेषता सीधे।

1
var attribs = (MyAttributeAttribute[]) typeof(MyClass).GetCustomAttributes(
    typeof(MyAttributeAttribute), 
    true); 

Console.WriteLine(attribs[0].CustomAttribute); // prints 'Value' 
संबंधित मुद्दे