C#定义使用反射创建的泛型的长度
我有这样的代码:C#定义使用反射创建的泛型的长度,c#,generics,C#,Generics,我有这样的代码: Type typPrecise = MostPrecise(typeof(int), typeof(double));//Evaluates to double var varGeneric = typeof(Number<>); var varSpecific = varGeneric.MakeGenericType(typPrecise); dynamic nmNumber = Activator.CreateInstance(varSpecific); t
Type typPrecise = MostPrecise(typeof(int), typeof(double));//Evaluates to double
var varGeneric = typeof(Number<>);
var varSpecific = varGeneric.MakeGenericType(typPrecise);
dynamic nmNumber = Activator.CreateInstance(varSpecific);
typetypeprecise=MostPrecise(typeof(int)、typeof(double))//计算结果加倍
var varGeneric=类型(编号);
var varSpecific=varGeneric.MakeGenericType(typPrecise);
动态nmNumber=Activator.CreateInstance(varSpecific);
nmNumber是动态类型,基本上生成一个泛型编号。然后如何在数字中指定项目的数量
我基本上希望通过使用上面的动态代码来实现这一点:
Number<typPrecise> whatever = new Number<typPrecise>(10);
Number which=新编号(10);
欢迎使用4.0概念进行回答。调用接受构造函数参数的Activator.CreateInstance的重载:
dynamic nmNumber = Activator.CreateInstance(varSpecific, new object[] { 10 });
顺便注意,
List(int)
构造函数设置列表的初始容量,而不是初始项数(Count)。初始计数始终为0。我怎么不知道CreateInstance的重载包含参数?啊!因此,对象[]中的10只指定了项目的数量。它不会添加单个项为10的对象[]?