小编典典

静态隐式运算符

all

我最近发现了这段代码:

 public static implicit operator XElement(XmlBase xmlBase)
 {
     return xmlBase.Xml;
 }

是什么static implicit operator意思?


阅读 80

收藏
2022-07-08

共1个答案

小编典典

这是一个 转换运算符 。这意味着您可以编写以下代码:

XmlBase myBase = new XmlBase();
XElement myElement = myBase;

编译器不会抱怨!在运行时,将执行转换运算符 -myBase作为参数传入,并返回一个有效XElement的结果。

作为开发人员,这是您告诉编译器的一种方式:

“尽管这些看起来像两种完全不相关的类型,但实际上有一种方法可以从一种转换为另一种;让我来处理如何做到这一点的逻辑。”

2022-07-08