【发布时间】:2011-03-08 08:17:46
【问题描述】:
我在 ILDASM 和 Reflector 中挖掘发现:
- == 编译为“ceq”MSIL 命令
- object.Equals 保持原样
- object.Equals 调用 object.InternalEquals
This 问题向我展示了如何找出 InternalEquals 的实现方式,即在 .cpp 类中(或其他任何地方,在 CLR 中的某个位置)。
我的问题是:
ceq 变成了什么?不同 .cpp 类中的另一种方法? IE。它们是完全不同的代码片段?那么虽然 == 和 Equals 的默认行为看起来是一样的,但它是不同的代码?
【问题讨论】:
-
一些
==未编译为ceq的异常:string、System.Type,见stackoverflow.com/questions/17634395/…