日期:2014-05-19  浏览次数:21007 次

C#中泛型T的类型的动态指定问题。
FillInfoObjFromControls <T> (ref   Dcampus_Fruit_DeclareInfo   _objDcampus_Fruit_Declare,   T   _container)   where   T   :   System.Web.UI.Control
定义了一个方法,我传入HtmlTable类型给T,在方法体里面判断HtmlTable是否有子控件,有的话就自调用FillInfoObjFromControls方法,那么调用的时候需要传入HtmlTableRow,以此类推。我是这么写的:
                                Type   _tempType   =   _tempCtl.GetType();                                        
                                FillInfoObjFromControls <_tempType> (ref   _objDcampus_Fruit_Declare,   _tempCtl);
出错了。我该怎么写才合适呢?

恩。第一次在这里发帖,都不知道我有没有分来给呢。

------解决方案--------------------
泛型好像是在编译阶段决定的,在程序里怎么能动态的设置呢.

我在这里学习一下吧...
------解决方案--------------------
这个范型类型的实例化须是一个编译期能确定类型的东东,你那个运行时才知道具体类型不行
------解决方案--------------------
既然用到了泛型,你还要去判断类型,那不是等于没有用?