我得到編譯錯誤,這個過於複雜的類層次結構。我不知道是否有任何與嘗試做deepcopy的(),在混合泛型實現抽象方法本身就是一個通用接口方法的實現
public interface IInterface<T>
{
IInterface<T> DeepCopy();
}
public abstract class AbstractClass<T> : IInterface<T>
{
public abstract IInterface<T> DeepCopy(); // Compiler requires me to declare this public
}
// Everything good at this point. There be monsters below
public class ConcreteClass: AbstractClass<SomeOtherClass>
{
ConcreteClass IInterface<SomeOtherClass>.DeepCopy()
{
return new ConcreteClass;
}
}
我得到以下編譯器錯誤:
'IInterface<...>.DeepCopy()': containing type does not implement interface 'IInterface<SomeOtherClass>'
當您刪除MyMethod的顯式接口前綴時會發生什麼? – davisoa 2010-11-09 15:45:19
編輯該問題以將MyMethod更改爲DeepCopy(因爲它實際上位於我的工作區中,我吮吸匿名)。卸下顯式接口前綴導致編譯器錯誤說我應該實現抽象類 .DeepCopy() –
Jeremy
2010-11-09 15:56:26
你錯過ACLASS關鍵字,應該是'公共抽象類抽象類' –
2010-11-09 15:57:36