我有这个课程:
public class MyClassContainer<T> where T:MyClass
{
private List<T> _classList = new List<T>();
public MyClassContainer(params MyClass[] myClasses)
{
for (int i = 0 ; i < myClasses.Length; ++i)
{
myClasses[i].container = this; // ERROR: Cannot implicitly cast...
_classList.Add(myClasses[i]);
}
}
...
}
public abstract MyClass: IMyclass
{
public MyClassContainer<MyClass> container
{
get;
set;
}
...
}
该代码在此行myClasses[i].container = this;
中有错误。它说:
Cannot implicitly convert type MyClassContainer<T> to MyClassContainer<MyClass>
我在这里做错了什么?感谢。
PS:我不习惯使用泛型,所以可能是因为我不知道为什么会出错。答案 0 :(得分:1)
尝试使用as
代替cast
myClasses[i].container = this as MyClassContainer<MyClass>;