我的主要班级......
[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但是它让我编译这是一个错误吗?
当我创建一组新的接口类时,我无法复制该问题。
我已经包含了图片,因此您可以看到未实现的界面下没有红色下划线
答案 0 :(得分:8)
当您声明某个类型的class
实现interface
并且该类型继承自已实现interface
的另一个类型时,编译器仍将满足作为类型没有违反合同。
在您的情况下,由于Operation
已经实施IRemoveSizeAbility
,您就可以了。