我們有一個非常簡單的程序調用Type.GetType
靜態方法。這兩個示例都應返回有效的類型實例。實際上只有第二個。看起來像GetType
所使用的堆棧爬行出現了一些奇怪的現象,但究竟是什麼問題呢?它是錯誤還是一些模糊的功能?爲什麼GetType()在通過方法組委託調用時找不到類型?
public class TestClass { }
class Program
{
static void Main(string[] args)
{
var fullName = typeof(TestClass).FullName;
Console.WriteLine("Full name: {0}", fullName);
new[] { fullName }.Select(Type.GetType).ToList().ForEach(t => Console.WriteLine("Method group: '{0}'", t));
new[] { fullName }.Select(t => Type.GetType(t)).ToList().ForEach(t => Console.WriteLine("Closure: '{0}'", t));
}
}
運行:
Full name: GetTypeBeingWeird.TestClass
Method group: ''
Closure: 'GetTypeBeingWeird.TestClass'
可能是我應該關閉較舊的?不知道,歡迎對此發表意見... – nawfal