असाइन करने के बेहतर तरीके पर कोई सुझाव आप यह नहीं कर सकते हैं।
विशेषता मान निरंतर भाव होना चाहिए। मान संकलित कोड में बेक्ड हैं। यदि आप निरंतर अभिव्यक्ति का उपयोग नहीं करना चाहते हैं, तो आप एक विशेषता का उपयोग नहीं कर सकते ... और आपको संभवतः नहीं करना चाहिए। इसका मतलब यह हो सकता है कि आप विशेषताओं का उपयोग कर रहे हैं जब आपको एक अलग दृष्टिकोण का उपयोग करना चाहिए।
आप properties vs attributes पर एरिक Lippert के ब्लॉग पोस्ट को पढ़ने के लिए चाहते हो सकता है।
बेशक, आपको वहां एक स्ट्रिंग अक्षर का उपयोग करने की आवश्यकता नहीं है। आप हो सकते हैं:
[ExtractKey(ExtractionKeys.Extraction)]
...
public static class ExtractionKeys
{
public const string Extraction = "Extraction";
}
... लेकिन यह अभी भी एक संकलित समय स्थिर है।
स्रोत
2013-05-01 14:19:57
क्या आप संपत्ति पर विशेषता डाल सकते हैं? –
क्या कॉल करें? ऐसा लगता है कि आपके पास ऐसी संपत्ति है जो परिभाषित करती है कि कुंजी के रूप में निकाला जाना चाहिए, है ना? तो हो सकता है कि यदि आपके पास 'KeyName' विशेषता है और इसे संपत्ति पर रखा गया है, तो जो कुछ भी निष्कर्षण कर रहा है वह कक्षा के गुणों पर आपकी' KeyName' विशेषता को देख सकता है, फिर उस संपत्ति से जो भी संपत्ति हो, उसमें से कुंजी का नाम प्राप्त करें। क्या इसका कोई मतलब है? –
@ChrisNielsen हां जो समझदार दोस्त बनाते हैं ... मैंने कॉन्स स्ट्रिंग में दिया है और विशेषता को असाइन किया है। – user1990395