gpt4 book ai didi

c# - 为什么不能定义从接口(interface)到类的隐式转换运算符?

转载 作者:太空狗 更新时间:2023-10-29 21:28:53 26 4
gpt4 key购买 nike

说,我有一个接口(interface)

public interface ISomeControl
{
Control MyControl { get; }
...
}

是否可以这样定义:

public static implicit operator Control(ISomeControl ctrl)
{
return ctrl.MyControl;
}

或者更确切地说,为什么我不能在 C# 中这样做?

最佳答案

如果您有一个 Control 的子类,并且该子类实现了 ISomeControl 接口(interface)会怎么样。

class SomeControl : Control, ISomeControl {}

现在强制转换是不明确的——内置的向上转换和用户定义的转换。所以你不能为接口(interface)提供用户定义的转换。

关于c# - 为什么不能定义从接口(interface)到类的隐式转换运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12533748/

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