2016-09-22 122 views
3

我的主類...接口不必要求實現方法

[Serializable] 
    public class SVO : Operation, IAddSizeAbility, IRemoveSizeAbility 
    { 
     public SerializableDictionary<string, SerializableDictionary<string, decimal>> Data = new SerializableDictionary<string, SerializableDictionary<string, decimal>>(); 



     public SVO() //Default Constructor 
     { 
      SerializableDictionary<string, decimal> line = new SerializableDictionary<string, decimal>(); 
      line.Add("Size - 0", 0.00M); 
      Data.Add("OP - 0", line); 

     } 

     public void AddSize() 
     { 
      throw new NotImplementedException(); 
     } 
    } 

我的接口...

public interface IAddSizeAbility 
    { 
     void AddSize(); 
    } 

public interface IRemoveSizeAbility 
    { 
     void RemoveSize(); 
    } 

的問題是,雖然我正確執行IAddSizeAbility interace我還沒有實現的IRemoveSizeAbility但它讓我編譯這是一個錯誤?

當我創建一組新的接口類時,我無法複製該問題。

我已經包括圖像,所以你可以看到有接口下沒有紅色下劃線了未實現

I have included image so you can see there is no red underline under the interface that is not implemented

並做你期望我測試的圖像。 And an image of my test which does what you would expect.

+4

也許'Operation'已經實現了它? – haim770

+0

不是那個,或者你的項目中有多個'IRemoveSizeAbility'接口。 – DavidG

+0

@ haim770是的你是對的,不能相信我錯過了它,發佈你的答案,我會接受。 – user3755946

回答

8

在聲明某些類型的class爲實現一個interface以及該類型從已實施interface另一種類型的繼承,編譯器仍然會滿意,類型不撕毀合同。

在你的情況,因爲Operation已經實現IRemoveSizeAbility,你很好去。