C# 如何在单个方法上指定多个泛型类型约束?
我可以使用“Where”子句将泛型限制为指定类型,例如:C# 如何在单个方法上指定多个泛型类型约束?,c#,generics,C#,Generics,我可以使用“Where”子句将泛型限制为指定类型,例如: public void foo<TTypeA>() where TTypeA : class, A public void foo(),其中TTypeA:class,A 如果我的函数有两种泛型类型,我该怎么做 public void foo<TTypeA, TTypeB>() where TTypeA : class, A && TTypeB : class, B public void fo
public void foo<TTypeA>() where TTypeA : class, A
public void foo(),其中TTypeA:class,A
如果我的函数有两种泛型类型,我该怎么做
public void foo<TTypeA, TTypeB>() where TTypeA : class, A && TTypeB : class, B
public void foo(),其中TTypeA:class,A&&TTypeB:class,B
上述方法不起作用。添加规则“TTypeB:class,B”的正确语法是什么
其中TTypeB:class,B
公共void foo(),其中TTypeA:class,A其中TTypeB:class,B
该死,晚了20秒。投票给詹姆斯·科伦,他是第一个。像这样的吗
public void foo<TTypeA, TTypeB>() where TTypeA : class where TTypeB : class
public void foo()其中TTypeA:class其中TTypeB:class
只需将&
替换为另一个,其中
有关泛型类型参数约束的更多信息可在MSDN上获得,其中它们描述了一些其他类型的可能约束(如裸约束:其中TTypeB:TTypeA
)。谢谢大家!它起作用了。我会将此标记为答案,所以让我(显然我必须等待9分钟)但您有一行8-)不正确,只有一个约束可以放置,而无需其他类型
public void foo<TTypeA, TTypeB>() where TTypeA : class, A where TTypeB : class, B
public void foo<TTypeA, TTypeB>() where TTypeA : class where TTypeB : class