具有多种类型的泛型类

时间:2014-07-14 10:25:19

标签: c# class generics generic-list

是否可以创建具有多个不知道类型的类? 例如: 考虑一下:

class MyClass <Type1, Type2, Type3, TResponse >
{

public TResponse Run()
{
     //operation on Type1, Type2, Type3
}


}

我的问题是,是否可以传递一些类型列表然后在循环中使用它们?然后想知道如何调用它。

2 个答案:

答案 0 :(得分:1)

是的,您可以定义具有多种类型的泛型类,以下代码进行编译。但是,为了对这些类型执行操作,您通常需要在类型上定义constraints

public class MyClass <Type1, Type2, Type3, TResponse>
{
    public TResponse Run()
    {
        return default(TResponse);
    }
}

但是明确指定了泛型类型,AFAIK无法指定您的类具有的泛型类型列表。

答案 1 :(得分:-1)

如果所有类使用接口或抽象类公开相同的功能,则可以这样做。一旦我们有了基类型,我们就可以创建具有多个类型参数的泛型类。在泛型类中,我们可以调用任何公开的功能。