为什么我不这样做?其中obj值是有效类型。
Type type = obj.Value.GetType();
this.unityContainer.RegisterType<type>();
OR
this.unityContainer.RegisterType(obj.Value);
当我能做到这一点时... obj值将是相同类型但在编译时已知。
this.unityContainer.RegisterType<object, actualType>("Name");
我的最终目标是能够在运行时注册几种不同的类型。
答案 0 :(得分:0)
在编译时必须知道尖括号中的任何内容 - 泛型是编译时功能。 RegisterType有很多重载,它们采用运行时确定的Type对象,例如你在这里做的。
将运行时类型引用移出尖括号并进入括号。
this.unityContainer.RegisterType(obj.Value.GetType());