【发布时间】:2013-10-22 09:52:29
【问题描述】:
我有如下界面:
public interface IObject
{
double x { get; }
double y { get; }
Holder<IObject> Holder { get; set; }
}
还有这个类
public class Holder<T> where T : IObject
{
private List<T> items;
public void AddItem(T item){
items.Add(item);
item.Holder = this;
}
但是编译器不喜欢 AddItem 方法并且在这一行:
item.Holder = this;
给我这个错误:
Cannot convert source type 'Holder<T>' to target type 'Holder<IObject>'
为什么我不能这样做?对于这种情况有什么好的解决方案? 谢谢
【问题讨论】:
-
为什么不使用公共类 Holder
? -
为什么同一个问题问了两次?
-
这不是同一个问题,我在上一个问题上有太多错误,所以我写了一个新问题。这也是另一种情况。