我有一个通用集合 MyCollection<T>
,除了这个新添加的函数Apply
之外,一切都正常:
class MyCollection<T> {
T value;
public MyCollection(T starter) { value = starter; }
public MyCollection<S> Apply<T, S>(Func<T, S> function) {
return new MyCollection<S>(function(value)); // error in function(value)
}
}
这给我带来了一个我从未见过的错误:
Argument 1: cannot convert from 'T' to 'T [C:\folder\code.cs (line number)]'
什么是两种 T
类型?我尝试转换时出了什么问题?