gpt4 book ai didi

c# - 使用自动属性显式实现接口(interface)

转载 作者:可可西里 更新时间:2023-11-01 07:54:55 26 4
gpt4 key购买 nike

有没有办法使用自动属性显式实现接口(interface)?例如,考虑这段代码:

namespace AutoProperties
{
interface IMyInterface
{
bool MyBoolOnlyGet { get; }
}

class MyClass : IMyInterface
{
static void Main(){}

public bool MyBoolOnlyGet { get; private set; } // line 1
//bool IMyInterface.MyBoolOnlyGet { get; private set; } // line 2
}
}

此代码编译。但是,如果您将第 1 行替换为第 2 行,它不会编译。

(并不是说我需要让第 2 行正常工作 - 我只是好奇。)

最佳答案

确实,该语言不支持该特定安排(通过自动实现的属性显式实现只获取接口(interface)属性)。因此,要么手动执行(使用字段),要么编写一个私有(private)的自动实现的 prop,并为其代理。但老实说,当您完成这些操作时,您还不如使用一个字段...

private bool MyBool { get;set;}
bool IMyInterface.MyBoolOnlyGet { get {return MyBool;} }

或:

private bool myBool;
bool IMyInterface.MyBoolOnlyGet { get {return myBool;} }

关于c# - 使用自动属性显式实现接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3905000/

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