我有两个定义如下的接口:

public interface IFoo
{
...
}

Public interface IFooWrapper<T> where T : IFoo
{
  T Foo {get;}
}


我希望能够声明IFooWrappers的集合,但是我不想指定IFoo的实现。

理想情况下,我想执行以下操作:

IList<IFooWrapper<*>> myList;


我找不到解决办法。

最佳答案

public interface IFoo
{
...
}

public interface IFooWrapper : IFoo
{
...
}
public interface IFooWrapper<T> : IFooWrapper
 where T : IFoo
{
...
}
IList<IFooWrapper> myList;


这是做你想要的一种方式

关于c# - C#泛型和集合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1226576/

10-10 07:22