我想知道在泛型类或方法中使用接口(或超级类型)与使用带边界的泛型方法(T扩展接口)有什么区别。显然,调用非泛型版本Person b = new Person();House d = new House编译器将推断MeasurableDistance类型并相应地添加强制转换。即使我想这么说:
<Person, House>co
我想要创建一个泛型类,其中T参数可以是来自其他类型集的任何实例。TestA { }public class Test<T> where T : TestA, TestB但是,当我尝试像这样使用它的时候var a = new Test<TestA>();我得到了两个编译错误:
错误1类型'TestA‘不能用作泛<