如何在Unity中注册和解析通用对象/接口?我正试图远离配置文件。
我正在寻找像
这样的东西 IEnterpriseClient<IInterface1>
要解析为EnterpriseClient<IInterface1>
班级签名是
class EnterpriseClient<T> : IEnterpriseClient<T> where T : class
谢谢!
答案 0 :(得分:7)
这几乎就是你的想法:
container.RegisterType<IEnterpriseClient<IInterface1>, EnterpriseClient<IInterface1>>( ... );
如果你只想要那个特定的封闭通用注册。对于开放式通用(不仅仅是IInterface1),你可以这样做:
container.RegisterType(typeof(IEnterpriseClient<>), typeof(EnterpriseClient<>), ... );
你提到你试过这个 - 什么不起作用?
答案 1 :(得分:2)