如何在单个方法上指定多个泛型类型约束?

Jus*_*tin 36 c# generics

我可以使用"Where"子句将泛型限制为指定类型,例如:

public void foo<TTypeA>() where TTypeA : class, A
Run Code Online (Sandbox Code Playgroud)

如果我的函数有两种泛型类型,我该怎么做?

public void foo<TTypeA, TTypeB>() where TTypeA : class, A && TTypeB : class, B
Run Code Online (Sandbox Code Playgroud)

以上不起作用.添加规则"TTypeB:class,B"的正确语法是什么

Jam*_*ran 56

 public void foo<TTypeA, TTypeB>() where TTypeA : class, A 
                                   where TTypeB : class, B 
Run Code Online (Sandbox Code Playgroud)


jga*_*fin 8

public void foo<TTypeA, TTypeB>() where TTypeA : class, A where TTypeB : class, B
Run Code Online (Sandbox Code Playgroud)

dang,20多岁.为James Curran投票,他是第一个.

  • 但你有一个单线8-) (2认同)

小智 6

像这样的东西?

 public void foo<TTypeA, TTypeB>() where TTypeA : class where TTypeB : class
Run Code Online (Sandbox Code Playgroud)