c# - 泛型和接口(interface)枚举

标签 c# .net generics interface ienumerable

如果有一组类都实现了一个接口(interface)。

interface IMyinterface<T>
{
    int foo(T Bar);
}

我想把它们全部塞进一个列表中并列举它们。
 List<IMyinterface> list
 foreach(IMyinterface in list)
 // etc...  

但编译器想知道 T 是什么。我可以这样做吗?我该如何克服这个问题?

最佳答案

没有 IMyinterface 类型,只有 IMyinterface`1 类型需要类型参数。您可以创建一个 IMyinterface 类型:-

interface IMyinterface { ... }

然后继承它
interface IMyinterface<T> : IMyinterface { ... }

您需要将要在 foreach 循环中使用的任何成员移动到 IMyinterface 定义。

关于c# - 泛型和接口(interface)枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/311274/

相关文章:

c# - 使用 SqlBulkCopy 连接到 SQLite 数据库

c# - 使用 .Net 持久存储加密数据

c# - 使用 MVC 上传和处理多个文件

generics - Scala - 如何执行 "assertThrows"方法?

c# - 匿名泛型——我应该在哪里使用它?

Java 默认方法 - 获取子类的类型

c# - 如何从另一个表中获取与另一个表中的名称或ID匹配的相同名称或ID

c# - 我应该使用 PictureBox 还是 Panel 在我的表单上绘图?

c# - C# 中的链接属性和意外结果

c# - 将 Icon 对象与 byte[] 相互转换会导致质量下降