如何定义具有两个通用类型和两个类型约束的方法?

时间:2013-06-28 11:55:12

标签: c# generics

我的方法定义是

public ActionResult _Create3<T>() where T:IMyClass, new()

但我想要定义两种通用类型

public ActionResult _Create3<T, G>(G content) where T:IMyClass, new()

G型还必须使用ImyClass接口,但我不知道在哪里定义两种类型!!!

例如,如果可以写:

public ActionResult _Create3<T, G>(G content) where {T:IMyClass, G:IMyClass}, new()

但得到错误。

感谢您的回答

2 个答案:

答案 0 :(得分:7)

添加另一个where constraint for that generic type

public ActionResult _Create3<T, G>(G content) 
  where T : IMyClass, new()
  where G : IMyClass, new()

答案 1 :(得分:4)

您可以在多个泛型类型上定义多个where约束,例如:

public ActionResult _Create3<T, G>(G content) where T:IMyClass, new()
                                              where G:IMyClass, new()