如果我的界面只有getter的签名,例如:
public interface IInterface
{
object Id{get;}
}
Run Code Online (Sandbox Code Playgroud)
因此,当我拥有该类时,接口仅在任何已实现的类上指定Id的公共getter:
public class Simple : IInterface
{
object Id
{
get{return something;}
set{ do something else;}
}
}
Run Code Online (Sandbox Code Playgroud)
由于未在接口中定义setter,编译器会抱怨setter.但是我并没有就限制器的接口合同做出任何规定; 为什么接口坚持派生类的setter?
Ree*_*sey 11
你只需要公开Id.例如,这编译好:
public interface IInterface
{
object Id { get; }
}
public class Simple : IInterface
{
private int something;
public object Id
{
get { return something; }
set{ something = (int)value;}
}
}
Run Code Online (Sandbox Code Playgroud)