2012-10-21 19 views
6

Ich habe eine einfache Funktion:GetType von Objekt zurückkehren Runtime

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

Wenn Sie diese Funktion auf einem String-Objekt verwenden, die zur Laufzeit, gibt die Funktion „System.RuntimeType“ erstellt wurde ...

Aber es sollte "System.String" return ...

+1

Wir Type type = obj.GetType(); sein kann dir nicht helfen, wenn Sie uns zeigen, was Ihr 'getType' ruft Methode und genau, was an sie weitergegeben wird. –

+0

'getType', ist ein Tippfehler, hoffe ich. – gdoron

+0

Zur Methode typeOf wird jedes Objekt übergeben, das erstellt werden kann. z.B. Zeichenfolge, int, MyClass1, MyClass2 ... – bitwave

Antwort

15

Wenn Sie es so nennen -

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

Es wird wieder System.String

Aber wenn Sie so nennen -

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

Dann wird es auch System.RuntimeType

zurückkehren, gibt es kleine typo in Ihrer Methode -

Type type = obj.getType(); sollte

3

ich denke, man es so genannt: getType(typeof(string)). typeof(abc) ist ein Wert vom Typ Type (oder RuntimeType, der ein Implementierungsdetail ist).

Nennen Sie es wie folgt aus:

getType("")

Verwandte Themen