是否可以像这样使用unity:
container.Register(typeof(IMyType<car>), typeof(MyType1<car>));
container.Register(typeof(IMyType<>), typeof(MyType2<>));。。因此,当我尝试解析IMyType<car>时,会得到一个MyType1<car>...但是当我尝试解析IMyType<bus>时,我得到了MyType2<bus>?或者用另一种方法来做同样的事情,使已定义的泛型优先于开放的泛型?
发布于 2011-06-08 05:26:42
是的,你可以这样做:
IUnityContainer container = new UnityContainer();
container.RegisterType(typeof(IMyType<Car>), typeof(MyType1<Car>));
container.RegisterType(typeof(IMyType<>), typeof(MyType2<>));
// Returns MyType1<Car>:
IMyType<Car> car = container.Resolve<IMyType<Car>>();
// Returns MyType2<Bus>:
IMyType<Bus> bus = container.Resolve<IMyType<Bus>>();https://stackoverflow.com/questions/6271745
复制相似问题