我有以下情况,实现我的接口的类采用多个泛型,但在接口的实现中只使用其中一个(另一个是关闭的)......
public interface ITest<T, TU>
{
}
public class Test<T, TU> : ITest<Guid, T>
{
}
我已经尝试将其注册为
builder.RegisterGeneric(typeof (Test<,>)).AsImplementedInterfaces();
和
builder.RegisterGeneric(typeof (Test<,>)).As(typeof (ITest<,>));
但是当我尝试解决为
container.Resolve<ITest<Guid, string>>();
我明白了
请求的服务 'ITest`2[[System.Guid, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ]]' 尚未注册。要避免此异常,请注册一个组件以提供服务,使用 IsRegistered() 检查服务注册,或使用 ResolveOptional() 方法解决可选依赖项。
我猜它假设泛型在实现和接口中属于同一类型?有什么建议么?
谢谢