【发布时间】:2016-01-11 10:49:25
【问题描述】:
我知道 Java 能够创建 for ex 的容器。通用接口 无需指定类型。这在 c# 中可能吗?
public interface Interface1<T>{
void ProcessModel(T source);
}
public class Implement : Interface1<ModelClass>{
.....implementation
}
我需要实例化一些像这样的容器
public List<Interface1> temp = new List<Interface1>();
不是这个
public List<Interface1<Implement>> temp = new List<Interface1<Implement>>();
【问题讨论】:
-
我能想到的唯一方法是包含列表的类本身是否是通用类。否则是不可能的,因为无法知道需要为所述类型分配多大的内存。
-
或某种通用容器类,然后将其放入列表中。基础是非泛型的
-
没有名为
Interface1的接口。它不存在。只有Interface1<T>。Interface1<Type1>和Interface1<Type2>是不同的类型。 (与 Java 相比,仅Interface1存在)一种解决方案是让Interface1<T>扩展另一个(非通用)接口并制作一个列表。
标签: java c# generics interface containers