如果我的界面只有吸气剂的签名,例如:

public interface IInterface
{
   object Id{get;}
}


因此,该接口仅指示任何实现的类上的Id的公共获取器
现在,当我上课时:

public class Simple : IInterface
{
  object Id
  {
    get{return something;}
    set{ do something else;}
  }
}


编译器抱怨设置器,因为未在接口中定义设置器。但是,我没有对设置员的接口合同作出任何规定。接口为什么要在派生类上坚持使用setter?

最佳答案

您只需要公开ID。例如,这可以正常编译:

public interface IInterface
{
    object Id { get; }
}
public class Simple : IInterface
{
    private int something;
    public object Id
    {
        get { return something; }
        set{ something = (int)value;}
    }
}

07-28 13:33
查看更多