Console.WriteLine(typeof(string));
Console.WriteLine("".GetType());
這2個返回的結果是一樣的。在網上查了很多資料 有些說 typeof是運算符,而GetType();是對象的方法,並沒有提出對結果有什麼影響。
在很多項目中用到ajaxpro組件,從1.1到2.0 都沒出現過什麼問題。而今天卻遇到了麻煩的問題。
AjaxPro.Utility.RegisterTypeForAjax(GetType(),Page);
這樣寫在一般頁面中也不會出現什麼問題,但在ascx控件中卻出現了問題,尤其是動態加載ascx情況下。
UserControl.GetType();返回的是ASP.controls_shopworld_extproductadd_ascx ;
typeof(ExtProductAdd)返回的是JoinCheer.B2bEcom.WebUI.Controls.ShopWorld.ExtProductAdd ;
由此可看到區別 typeof運算符返回的是 命名空間加類名,而GetType()返回的是卻與前者不同。不清楚爲什麼GetType()要重寫成另一種方式。我想這個問題也會影響到反射時發生的問題。以後還是使用typeof運算符比較好