C# 表达式、成员查找与函数成员调用全解析
在 C# 编程中,表达式、成员查找以及函数成员调用是非常重要的概念。理解这些概念有助于我们更好地编写和理解 C# 代码。下面将详细介绍这些内容。
1. 二元运算符重载解析
对于形式为 x op y
的操作,其中 op
是可重载的二元运算符, x
是类型为 X
的表达式, y
是类型为 Y
的表达式,其处理过程如下:
- 确定候选用户定义运算符集合 :由 X
和 Y
为操作 operator op(x, y)
提供的候选用户定义运算符集合,是 X
提供的候选运算符和 Y
提供的候选运算符的并集。如果 X
和 Y
是相同类型,或者它们派生自一个公共基类型,那么共享的候选运算符在组合集中只出现一次。
- 确定候选运算符集合 :如果候选用户定义运算符集合不为空,则该集合成为操作的候选运算符集合;否则,预定义的二元运算符 op
实现成为操作的候选运算符集合。
- 应用重载解析规则 :应用重载解析规则从候选运算符集合中选择相对于参数列表 (x, y)
最佳的运算符,该运算符成为重载解析