gpt4 book ai didi

c# - 未在接口(interface)中定义的属性的 setter

转载 作者:行者123 更新时间:2023-11-30 19:08:12 26 4
gpt4 key购买 nike

如果我的接口(interface)只有 getter 的签名,例如:

public interface IInterface 
{
object Id{get;}
}

所以接口(interface)只为任何已实现类的 Id 指定一个公共(public) getter现在我上课了:

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

编译器提示 setter,因为 setter 没有在接口(interface)中定义。但是,我没有在接口(interface)契约(Contract)上为 setter 指定任何内容;为什么接口(interface)坚持派生类的 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;}
}
}

关于c# - 未在接口(interface)中定义的属性的 setter ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1349179/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com