使用null参数调用Type.MakeGenericType()

时间:2009-06-16 10:10:02

标签: c# generics

我有一个通用类型:

MyType<T1, T2, T3>

我想这样做:

typeof(MyType<,,>).MakeGenericType(new [] { null, null, string});

所以我最终得到了:

MyType<,,string>

但是,你不能将空类型传递给MakeGenericType(参见:http://msdn.microsoft.com/en-us/library/system.type.makegenerictype.aspx)。

我如何实现这一目标?

由于

1 个答案:

答案 0 :(得分:5)

好的,我这样避免了:

var args = typeof(MyType<,,>).GetGenericArguments();
args[2] = typeof(string);
typeof(MyType<,,>).MakeGenericType(args);