我有一个通用类型:
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)。
我如何实现这一目标?
由于
答案 0 :(得分:5)
好的,我这样避免了:
var args = typeof(MyType<,,>).GetGenericArguments();
args[2] = typeof(string);
typeof(MyType<,,>).MakeGenericType(args);