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运算符比较好