我有这样的代码:
Type typPrecise = MostPrecise(typeof(int), typeof(double));//Evaluates to double
var varGeneric = typeof(Number<>);
var varSpecific = varGeneric.MakeGenericType(typPrecise);
dynamic nmNumber = Activator.CreateInstance(varSpecific);
nmNumber是动态类型,基本上产生通用数字。然后,我如何指定数字中的项目数。
我基本上想要通过使用上面的动态代码来实现这一目标:
Number<typPrecise> whatever = new Number<typPrecise>(10);
欢迎使用4.0概念的答案。
答案 0 :(得分:3)
调用接受构造函数参数的Activator.CreateInstance的重载:
dynamic nmNumber = Activator.CreateInstance(varSpecific, new object[] { 10 });
顺便提一下,List<T>(int)
构造函数设置List的初始容量,而不是初始项目数(Count)。初始计数始终为0.