使用ILSpy在哪里可以看到基元类型的运算符重载

本文关键字:类型 运算符 重载 在哪里 ILSpy 使用 | 更新日期: 2023-09-27 18:26:33

出于好奇,我试图在MsCorLib.dll 中查找Int32的一元运算符(如+、-、*等)的相关运算符重载

我使用ILSpy。

当我检查System.Int32结构定义时,我看不到任何与运算符重载相关的内容。

Q:我看错地方了吗?那么我应该在哪里看到基元类型的运算符重载?或者我甚至不应该期望看到这些方法?

使用ILSpy在哪里可以看到基元类型的运算符重载

运算符是C#的一部分,在C#语言规范中定义。

示例:

7.7.2一元减号运算符

[…]预定义的否定运算符为:

  • 整数否定:

    int operator –(int x);
    long operator –(long x);
    

    结果是通过从零减去x来计算的[…]

  • 浮点否定:

    float operator –(float x);
    double operator –(double x);
    

    结果是x的值,其符号反转。如果x是NaN,则结果也是NaN。

  • 十进制否定:

    decimal operator –(decimal x);
    

    结果是通过从零减去x来计算的。十进制求反等效于使用System.Decimal.类型的一元减号运算符

相关文章: