首页 新闻 会员 周边

泛型方法的调用问题

0
悬赏园豆:20 [已解决问题] 解决于 2012-02-05 20:53

各位大虾,请帮忙.

遇到这个问题:

我定义了一个泛型方法:

        void Fill<T>() where T : new()
{

}

现在,在另一个方法里,我想调用这个方法。简单的可以使用Fill<A>()或Fill<B>来调用。

但现在,我想动态的在程序里生成A或者B.然后调用Fill方法。像下面这样:

      //t为类A或类B
var t = ...;
Fill<t>();

但现在我不知道如何生成这个t,可否通过反射的方法生成这个t,然后在Fill方法中调用,各位大虾请指教。

Localhost的主页 Localhost | 菜鸟二级 | 园豆:443
提问于:2012-02-05 19:59
< >
分享
最佳答案
0

不用生成A或B的,你直接用类型写在里面就行了。比如调用的时候就这样:Fill<T>();

不需要用Fill<t>();
收获园豆:20
LCM | 大侠五级 |园豆:6876 | 2012-02-05 20:20

感谢LCM.

 

我知道可以使用Fill<A>或Fill<B>,但现在的问题是,我这个A或B是需要动态生成的。所以遇到需要生成t,然后调用Fill<t>的问题。

Localhost | 园豆:443 (菜鸟二级) | 2012-02-05 20:28

@Localhost: 我不明白你的意思呢。你这个方法是要把一个实体填充到哪里面是吧。那要就是直接

Fill<T>(T t); ,这个方法就能操作实体t。
LCM | 园豆:6876 (大侠五级) | 2012-02-05 20:32

@LCM: 恩,是的。我知道了。我是要将t填充到方法里,可以使用Fill<T>(T t)的方法将t传进去,谢谢。

Localhost | 园豆:443 (菜鸟二级) | 2012-02-05 20:53
其他回答(1)
0

意图不明确!

小小刀 | 园豆:1991 (小虾三级) | 2012-02-05 21:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册