接口不需要实现方法

use*_*946 2 c# oop

我的主要班级......

[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();
        }
    }
Run Code Online (Sandbox Code Playgroud)

我的界面......

public interface IAddSizeAbility
    {
        void AddSize();
    }

 public interface IRemoveSizeAbility
    {
        void RemoveSize();
    }
Run Code Online (Sandbox Code Playgroud)

问题是虽然我正确地实现了IAddSizeAbility interace但我没有实现IRemoveSizeAbility但是它让我编译这是一个错误?

当我创建一组新的接口类时,我无法复制该问题.

我已经包含了图像,因此您可以看到未实现的界面下没有红色下划线

我已经包含了图像,因此您可以看到未实现的界面下没有红色下划线

我的测试图像可以满足你的期望. 我的测试图像可以满足你的期望.

hai*_*770 8

当您class将某个类型声明为实现某个类型interface并且该类型继承自已实现该类型的另一个类型时,interface编译器仍然会满意,因为该类型不会破坏合同.

在你的情况下,既然Operation已经实现了IRemoveSizeAbility,你就好了.