दिलचस्प पोस्ट
डेटाग्रीड WPF में चयनित पंक्ति आइटम प्राप्त करें डीएएल -> बीएलएल <- जीयूआई + संरचना रूट डीआई-बाइंडिंग सेटअप कैसे करें? कैसे mysql में levenshtein समारोह जोड़ने के लिए? क्या आप रूबी में मैप (और: विधि) सिंटैक्स में तर्क प्रदान कर सकते हैं? ऑटो वृद्धि SQL फ़ंक्शन जावास्क्रिप्ट बहुआयामी सरणी जावा सॉकेट्स पर फ़ाइल (बाइट ) भेजने और प्राप्त करना अगर कोई फ़ंक्शन किसी वैध रिटर्न प्रकार के साथ कोई मान नहीं देता है, क्या कचरा को फेंकने के लिए क्या यह ठीक है? यह निर्धारित करने के लिए कि क्या स्ट्रिंग C ++ के साथ एक संख्या है? बिट्स और मॉड्यूलस ऑपरेटर के स्थान पर अवैध स्विफ्ट समर्थन – फ़ाइलें मेल नहीं खाती हैं क्रोम गलत एमआईएमई प्रकार के कारण एक AJAX स्क्रिप्ट निष्पादित करने से इनकार करता है अमेज़ॅन एस 3 में एक बाल्टी को सार्वजनिक करें जर्सी के साथ स्ट्रॉप्स 2 ExecuteScalar () हैंडलिंग जब कोई परिणाम नहीं लौटाए जाते हैं

विशेषताएँ सी # में गतिशील रूप से जोड़ा जा सकता है?

क्या रनटाइम पर विशेषताओं को जोड़ना संभव है या रनटाइम पर एक विशेषता के मान को बदलना है?

वेब के समाधान से एकत्रित समाधान "विशेषताएँ सी # में गतिशील रूप से जोड़ा जा सकता है?"

विशेषताएं स्थिर मेटाडेटा हैं असेंबलियों, मॉड्यूल, प्रकार, सदस्यों, मापदंडों, और रिटर्न वैल्यू C # में प्रथम-श्रेणी की ऑब्जेक्ट नहीं हैं (जैसे, System.Type । टाईप क्लास केवल एक प्रकार का प्रतिबिंबित प्रतिनिधित्व है)। आप किसी प्रकार के एक विशेषताओं का एक उदाहरण प्राप्त कर सकते हैं और गुण बदल सकते हैं यदि वे लिखने योग्य हों, लेकिन यह विशेषता को प्रभावित नहीं करेगा क्योंकि यह प्रकार पर लागू होता है।

यह वाकई इस बात पर निर्भर करता है कि आप क्या पूरा करने की कोशिश कर रहे हैं।

System.ComponentModel.TypeDescriptor सामान प्रकार, गुण और वस्तु उदाहरणों के लिए विशेषताओं को जोड़ने के लिए उपयोग किया जा सकता है, और इसमें उन गुणों को पुनः प्राप्त करने के लिए इसका उपयोग करने की सीमा है यदि आप उस कोड को लिख रहे हैं जो उन विशेषताओं को खपता है, और आप उन सीमाओं के भीतर रह सकते हैं, तो मैं निश्चित रूप से इसका सुझाव दूंगा

जहां तक ​​मुझे पता है, संपत्ति ग्रिड नियंत्रण और दृश्य स्टूडियो डिजाइन की सतह बीसीएल में ही चीजें हैं जो टाइपडिसिप्टर सामान का उपभोग करते हैं वास्तव में, वे इस तरह से आधे चीजों के बारे में क्या करते हैं जिन्हें उन्हें वास्तव में करने की ज़रूरत है

खैर, बस अलग होने के लिए, मुझे एक लेख मिला जो प्रतिबिंब का उपयोग करने के लिए संदर्भ। ऐसा करने के लिए हटाएं

यहां लिंक है: http://www.codeproject.com/KB/cs/dotnetattributes.aspx , आप लेख के निचले भाग में कुछ टिप्पणियों पर गौर करना भी चाहते हैं, क्योंकि संभावित तरीकों पर चर्चा की जाती है।

आप नहीं कर सकते एक वैकल्पिक क्रम रनटाइम पर व्युत्पन्न वर्ग उत्पन्न करने और विशेषता को जोड़ने के लिए हो सकता है, हालांकि यह संभवतः एक ओवरकिल का छोटा हिस्सा है।

नहीं यह नहीं।

गुण मेटा-डेटा हैं और संकलित विधानसभा में बाइनरी-फ़ॉर्म में संग्रहीत हैं (यही कारण है कि आप केवल उन में साधारण प्रकार क्यों उपयोग कर सकते हैं)।

मुझे ऐसा विश्वास नहीं है। यहां तक ​​कि अगर मैं ग़लत हूँ, तो सबसे अच्छा आप के लिए आशा कर सकते हैं उन्हें एक संपूर्ण प्रकार को जोड़ने, एक प्रकार का एक उदाहरण कभी नहीं।

यदि आपको गतिशील रूप से जोड़ा जाने के लिए कुछ की आवश्यकता है, तो c # विशेषताएँ मार्ग नहीं हैं एक्सएमएल में डेटा को संचय में देखें मैंने हाल ही में एक प्रोजेक्ट की शुरुआत की जो मैंने शुरू की है / विशेषताओं, लेकिन अंततः क्रमिकरण w / xml में स्थानांतरित कर दिया।

आप की आवश्यकता क्यों है? विशेषताएँ प्रतिबिंब के लिए अतिरिक्त जानकारी प्रदान करते हैं, लेकिन अगर आप बाह्य रूप से जानते हैं कि आप किस संपत्ति की जरूरत चाहते हैं, तो आपको उनकी आवश्यकता नहीं है।

आप डेटाबेस या संसाधन फ़ाइल में अपेक्षाकृत आसानी से मेटा डेटा को बाह्य रूप से स्टोर कर सकते हैं।

सफलता के बिना मैंने सिस्टम.कंपनेन्टमोडेल.TypeDescriptor के साथ बहुत कठिन प्रयास किया। इसका अर्थ यह नहीं है कि यह काम नहीं कर सकता है लेकिन मैं इसके लिए कोड देखना चाहता हूं।

काउंटर भाग में, मैं कुछ विशेषता मानों को बदलना चाहता था। मैंने 2 कार्य किया जो उस उद्देश्य के लिए ठीक काम करते हैं।

  // ************************************************************************ public static void SetObjectPropertyDescription(this Type typeOfObject, string propertyName, string description) { PropertyDescriptor pd = TypeDescriptor.GetProperties(typeOfObject)[propertyName]; var att = pd.Attributes[typeof(DescriptionAttribute)] as DescriptionAttribute; if (att != null) { var fieldDescription = att.GetType().GetField("description", BindingFlags.NonPublic | BindingFlags.Instance); if (fieldDescription != null) { fieldDescription.SetValue(att, description); } } } // ************************************************************************ public static void SetPropertyAttributReadOnly(this Type typeOfObject, string propertyName, bool isReadOnly) { PropertyDescriptor pd = TypeDescriptor.GetProperties(typeOfObject)[propertyName]; var att = pd.Attributes[typeof(ReadOnlyAttribute)] as ReadOnlyAttribute; if (att != null) { var fieldDescription = att.GetType().GetField("isReadOnly", BindingFlags.NonPublic | BindingFlags.Instance); if (fieldDescription != null) { fieldDescription.SetValue(att, isReadOnly); } } } 

जावा में मैं इसके आसपास एक मानचित्र का उपयोग करके और कुंजी-वैल्यू कोडिंग पर अपने स्वयं के लागूकरण को लागू करने के लिए काम करता था।

http://developer.apple.com/documentation/Cocoa/Conceptual/KeyValueCoding/KeyValueCoding.html