如何为类型参数添加2个new()约束?

时间:2012-08-27 14:25:38

标签: c# .net generics syntax generic-constraints

我想要这样的事情:

public static TTo JumpTo<TFrom, TTo>(this TFrom from_page) 
       where TTo : new() TFrom : new()
{
    ...
}

我想强制执行TFrom和TTo都是从基类型派生的。

我希望将此方法设为TFrom类型的扩展方法

有可能吗?什么是正确的语法?

1 个答案:

答案 0 :(得分:9)

在每种类型之前加上关键字where

public static TTo JumpTo<TFrom, TTo>(this TFrom from_page) 
    where TTo : SomeBaseType, new() 
    where TFrom : SomeOtherBaseType, new()
{
     ...
}
相关问题