gpt4 book ai didi

c# - 如何设置显式实现的接口(interface)的属性?

转载 作者:行者123 更新时间:2023-12-01 21:43:25 26 4
gpt4 key购买 nike

我有这个代码片段:

public interface Imy
{
int X { get; set; }
}

public class MyImpl : Imy
{
private int _x;
int Imy.X
{
get => _x;
set => _x = value;
}
}

class Program
{
static void Main(string[] args)
{
var o = new MyImpl();
o.Imy.X = 3;//error
o.X = 3;//error
}
}

我只想给 X 赋值,但出现 2 个编译错误。如何解决?

最佳答案

当您显式实现接口(interface)时,您需要将变量强制转换为接口(interface):

((Imy)o).X = 3;

o 在您的代码中属于 MyImpl 类型。您需要将其显式转换为 Imy 才能使用接口(interface)属性。

<小时/>

或者,您可以将 o 声明为 Imy:

Imy o = new MyImpl();
o.X = 3;

关于c# - 如何设置显式实现的接口(interface)的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60598638/

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