我具有以下类/接口关系:
public interface IFoo {}
public class FooImpl1 : IFoo{}
public class FooImpl2 : IFoo{}
public interface IFooService<T> where T : IFoo {}
public class FooServiceImpl1 : IFooService<FooImpl1> {}
public class FooServiceImpl2 : IFooService<FooImpl2> {}
我想做以下事情,但是不起作用:
public class FooServiceFactory
{
public FooServiceFactory()
{
var fooServices = new Dictionary<string, IFooService<IFoo>>();
fooServices["key1"] = new FooServiceImpl1();
fooServices["key2"] = new FooServiceImpl2();
}
}
我尝试了一些方法,但是没有成功,现在,我不确定为什么这行不通。