2009-10-23 14 views
19

मैं मूल रूप से प्रकार युक्त एक सूची की घोषणा करना चाहते हैं की एक सूची की घोषणा:प्रकार

List<Type> types = new List<Type>() {Button, TextBox }; 

संभव है?

+0

आप इसका क्या उपयोग कर रहे हैं? –

+0

मैं डेटा को सत्यापित/सत्यापित करने के लिए फ़ंक्शंस के एक सेट पर काम कर रहा हूं उपयोगकर्ता एक फॉर्म में प्रवेश करते हैं। – Luiscencio

उत्तर

45

इस प्रयास करें:

List<Type> types = new List<Type>() { typeof(Button), typeof(TextBox) }; 

typeof() ऑपरेटर एक प्रकार की System.Type वापस जाने के लिए प्रयोग किया जाता है।

ऑब्जेक्ट उदाहरणों के लिए आप ऑब्जेक्ट से प्राप्त GetType() विधि को कॉल कर सकते हैं।

+4

'var' का उपयोग करने के लिए घोषणा बदलें और आपके पास मेरा अप-वोट है। : पी – Noldorin

+0

वंशावली के लिए परिदृश्य का मामूली बदलाव: यदि आपके पास कोई उदाहरण/ऑब्जेक्ट है और उसी प्रकार की सूची में अपना प्रकार शामिल करना चाहते हैं तो ऑब्जेक्ट की .GetType() प्रॉपर्टी का उपयोग करें - उदा। निम्नलिखित में 'myButton' चर उपयोग का उपयोग करें: बटन myBtn = नया बटन(); सूची प्रकार = नई सूची () {myBtn.GetType(), टाइपऑफ (टेक्स्टबॉक्स)}; –

+0

यदि यह विधि विधि प्रकार से कहीं और घोषित किया गया है तो विभिन्न कीवर्ड उपलब्ध नहीं है। लेकिन हाँ आप एक विधि में var (और चाहिए) var का उपयोग कर सकते हैं। –

5

हाँ, List<System.Type>

var types = new List<System.Type>(); 

का उपयोग सूची में आइटम जोड़ने के लिए, typeof कीवर्ड का उपयोग करें।

types.Add(typeof(Button)); 
types.Add(typeof(CheckBox)); 
+0

मुझे एक त्रुटि मिलती है: "बटन प्रकार है लेकिन एक चर के रूप में प्रयोग किया जाता है" – Luiscencio

1

एक टाइप किया सामान्य सूची का उपयोग करें:

List<Type> lt = new List<Type>(); 
13

आपके पास लगभग यह कोड है। प्रकार का नाम टाइप करें और न केवल प्रकार का नाम।

List<Type> types = new List<Type>() {typeof(Button), typeof(TextBox) }; 
4
List<Type> types = new List<Type>{typeof(String), typeof(Int32) }; 

आप typeof कीवर्ड का उपयोग करने की जरूरत है।

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