gpt4 book ai didi

c# - 单独的 getter 和 setter 声明

转载 作者:太空宇宙 更新时间:2023-11-03 19:39:43 26 4
gpt4 key购买 nike

如何为属性分别声明 getter 和 setter?

例如,假设我想创建以下层次结构:

interface IReadOnlyFoo
{
string Value { get; }
}

interface IFoo : IReadOnlyFoo
{
string Value { set; }
}

class BasicFoo : IFoo
{
string Value { get; set; }
}

编译器正在提示,因为 IFoo.Value 隐藏了 IReadOnlyFoo.Value,这不是我想要做的。我想“合并”getter 和 setter 声明。

我看过 .NET Framwork 如何声明 IReadOnlyListIList 接口(interface),但它是以不同的方式完成的。

我怎样才能实现我想做的事情?我可以使用属性来做到这一点,还是我真的必须创建单独的 GetValue()SetValue() 方法?

最佳答案

当您将接口(interface)定义更改为

interface IReadOnlyFoo
{
string Value { get; }
}

interface IReadWriteFoo
{
string Value { get; set; }
}

class BasicFoo : IFoo, IReadOnlyFoo
{
public string Value { get; set; }
}

它应该可以工作。

关于c# - 单独的 getter 和 setter 声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55324868/

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