如果我的界面只有吸气剂的签名,例如:
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;}
}
}