asp.net - How do I make a property of custom control to be a generic type? -


मैंने एक कस्टम asp.NET नियंत्रण ( WebControls.TextBox से प्राप्त किया गया है)।

मैं उस नियंत्रण में एक संपत्ति जोड़ना चाहता हूं जो एक प्रकार का हो।

यह संपत्ति वास्तव में हमेशा कुछ प्रकार की एन्यूम होगी। इसलिए जब डिजाइनर में मैं उस नियंत्रण की प्रॉपर्टी विंडो को देखता हूं - मैं विशिष्ट संपत्ति से चयन करके उस प्रॉपर्टी का मान सौंपने में सक्षम होना चाहता हूं। इसलिए मैं वहां गणनाकर्ताओं की सूची को देखना चाहता हूं, जिसे मैं पास करता हूं ..

उदाहरण (काम नहीं करने वाला कोड जो संकलित होगा .. सिर्फ यह दिखाने के लिए कि मेरा क्या मतलब है):

मेरे पास 2 enums हैं:

  enum MyEnumABC {A, B, C} enum MyColor {Red, Blue, Green}  

मेरे पास यह नियंत्रण है:

  सार्वजनिक वर्ग MyTextBox & lt; T & gt; : टेक्स्टबॉक्स {सार्वजनिक टी वर्गीकरण} {} {} सेट {}}}  

अब मैं उस वेबपेज का निर्माण कर रहा हूं जिसका नियंत्रण है:

  & lt; एलेक्स: MyTextBox runat = सर्वर आईडी = "एलेक्स" वर्गीकरण = MyEnumABC.A & gt; & lt; / Alex: MyTextBox & gt; & Lt; एलेक्स: मायटेक्स्टबॉक्स रनैट = सर्वर आईडी = "एलेक्स 2" वर्गीकरण = MyColor.Red & gt; & lt; / Alex: MyTextBox & gt;  

सवाल यह है कि मैं वास्तव में उस नियंत्रण के निर्माता को किस तरह से पास कर सकता हूँ? (चूंकि पेज क्लास वह है जो नियंत्रण के कंसल्टेंट्स को कॉल करता है।) मुझे वास्तव में एलेक्स 1 के प्रकार को MyEnumABC के प्रकार, और Mycolor प्रकार के एलेक्स 2 के प्रकार को सेट करने की आवश्यकता है।

और दूसरा प्रश्न यह है कि मैं VS2008 को एचटीएमएल के डिजाइनर (ताकि जब मैं टैग में वर्गीकरण लिखूँ - यह मान के चयन के लिए लिखने की खुराक खोलता है) और नियंत्रण के गुण पृष्ठ को समर्थन देने के लिए बना देता हूं।

मुझे आशा है कि आप समझते हैं कि मैं यहाँ क्या कह रहा हूं।

धन्यवाद।

< P> डिजाइनर एन्म गुणों का समर्थन करेंगे, बिना कुछ विशेष करना बस अपने नियंत्रण के कोड में संपत्ति को निर्दिष्ट करें, इसे सभी सामान्य विशेषताओं को देने के लिए इसे संपत्ति विंडो में प्रदर्शित होने की अनुमति दें और संपत्ति विंडो स्वचालित रूप से एक ड्रॉपडाउन में एन्यूम मान प्रदर्शित करेगी।


Comments