有基于Type的解决方法吗?
Type t = typeof(Person);
var test = Container.Current.TryGetInstance(IMapper<t, ViewModel>);
答案 0 :(得分:1)
想出来:
.NET generics: how to resolve type T in run-time?
Type p = typeof(Person);
Type vm = typeof(ViewModel);
var concreteHandlerType = typeof(IMapper<,>).MakeGenericType(p, vm);
var handler = Container.Current.GetInstance(concreteHandlerType);
集装箱登记:
c.For(typeof(IMapper<,>)).Use(typeof(Mapper<,>));