假设我有一堂课
Class Apple<T> where T: IComparable<int>{}
现在在为 Apple 创建一个对象时,我会这样做
Apple<int> obj = new Apple<int>();
上面的代码将起作用。
如果我用任何其他通用接口替换相同的代码,比如IComparer<>
,IEnumerable<>
等等。像上面这样的对象创建将不起作用,我们必须像这样声明它
Apple<IEnumerable<int>> obj = new Apple<IEnumerable<int>>();
为什么会这样?为什么我声明的IComparable<>
方式只适用于它而不适用于任何其他接口?
慕森王
相关分类