来自对象的GetType返回RuntimeType

我有一个简单的function:

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

如果对在运行时创建的字符串对象使用此函数,则该函数返回“System.RuntimeType”…

但它应该返回“System.String”…

如果你这样称呼它 –

 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();

我猜你这样叫: getType(typeof(string))typeof(abc)Type的值(或RuntimeType ,它是一个实现细节)。

这样叫:

getType("")