6

我有一个像这样的类型 T 对象的接口

public interface IService<T>

我有一堆具有所有不同类型 T 的接口。如何将这些接口添加到某种列表中,遍历列表并调用接口使用的通用方法。有任何想法吗?有替代方法吗?

如果我将它添加到列表中,我只是看不到正确转换类型 T 的方法。

4

1 回答 1

13

如果该方法很常见,那么大概它不依赖于T,所以你应该能够做到:

interface IService {
    void TheMethod();
}
interface IService<T> : IService {
    // other stuff
}

然后有一个List<IService>,并且只是:

foreach(var svc in list) svc.TheMethod();
于 2012-07-03T09:12:01.453 回答