扩展方法只能扩展到一种类型上,即第一个参数,且必须用this指明
public static T Test<T, R>(this T t, R r)
where T : A
where R : B
要么另外再封装一个泛型类,再写扩展
public class C<T, R> where T : A where R : B {}
public static C Test(this C c, object param)
public static T Test<T>(this T t, object param) where T : C