java - 不常见泛型类型的接口(interface)列表

标签 java c# generics interface containers

我知道Java能够创建例如容器。通用接口(interface) 无需指定类型。这在 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>>();    

最佳答案

您可以简单地创建一个由您的通用接口(interface)扩展的非通用基接口(interface),而不是为您的容器使用通用接口(interface)。现在您可以将所有这些派生实例放入容器中:

interface IBase { }
interface IGenericInterface<T> : IBase { }
class MyClass : IGenericInterface<string> { }

class MyContainer {
    List<IBase> impl = new List<IBase>();

    void Main() {
        impl.Add(new MyClass());
    }
}

关于java - 不常见泛型类型的接口(interface)列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34719611/

相关文章:

java - 是否可以在硬件中运行 Java 应用程序

c# - 如何在 C# 中将嵌套列表转换为数据集

c# - PersonalDataAttribute 有什么用?

c# - 在 C# 中可以通过字符串访问类吗?

java - 了解 Java 中的泛型方法

java - 如何将泛型集合传递给方法

java - 附加代码点()和代码点()

java - 来自 URL 的 Android 位图始终为空

c++ - 概念与接口(interface)有何不同?

java - 多个 && 语句 - 效率