如何仅为特定的类层次结构创建泛型函数?

时间:2019-07-02 09:01:01

标签: c# generics

我可以定义仅接受特定类层次结构(父类和子类)中的参数的通用方法吗?

void DoSomething<T>(T input) {}

class A {}
class B : A {}

在这里我想使用类似的东西:

void DoSomething<A>(A input) {}

并且我希望它也适用于类层次结构中的所有情况:

A objA;
B objB;

DoSomething(objA);
DoSomething(objB);

1 个答案:

答案 0 :(得分:3)

void DoSomething<T>(T input) where T : A
{
}