2012-10-21 12 views
6

लौटा रहा है मैं एक साधारण कार्य है:GetType RuntimeType

public string getType(object obj){ 
Type type = obj.getType(); 
return type.FullName; 
} 

आप एक स्ट्रिंग वस्तु, क्रम पर बनाया गया था, जिस पर इस सुविधा का उपयोग करते हैं, तो समारोह रिटर्न "System.RuntimeType" ...

लेकिन यह "System.String" वापस चाहिए ...

+1

हम आपको मदद नहीं कर सकता जब तक कि आप को दिखाने के लिए हमें अपने 'getType' क्या बुला रहा है विधि, और वास्तव में क्या पारित किया जाता है। –

+0

'गेट टाइप', एक टाइपो है जो मुझे उम्मीद है। – gdoron

+0

टाइपऑफ विधि के लिए कोई ऑब्जेक्ट पास किया गया है, जिसे बनाया जा सकता है। जैसे स्ट्रिंग, int, MyClass1, MyClass2 ... – bitwave

उत्तर

15

आप इसे इस प्रकार को कॉल करते हैं -

string a = ""; 
string type = getType(a); 

यह System.String

वापस आ जाएगी लेकिन आप इस तरह से फोन करता है, तो -

string a = ""; 
string type = getType(a.GetType()); 

तो यह System.RuntimeType

भी वापस आ जाएगी, आपकी विधि में छोटे typo है -

Type type = obj.getType(); होना चाहिए Type type = obj.GetType();

3

मुझे लगता है कि आप इस तरह से यह कहा जाता है: getType(typeof(string))typeof(abc)Type (या RuntimeType) का एक मान है जो कार्यान्वयन विवरण है)।

इसे इस तरह कॉल:

getType("")

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