自定义>>操作符会遇到>>的第二个参数要求是数字的限制,所以以下编译失败:
public static RegularExpression operator >> (RegularExpression left, RegularExpression right)

>> 对应方法名是 op_RightShift 再加上SpecialName 特性 编译器就能生成正确的IL代码:

[SpecialName]
public static RegularExpression op_RightShift (RegularExpression left, RegularExpression right)

编译成IL以后方法签名是:

.method public hidebysig specialname static 
        class CompilerLib.Scanner.RegularExpression op_RightShift (
            class CompilerLib.Scanner.RegularExpression left,
            class CompilerLib.Scanner.RegularExpression right
        ) cil managed

 

相关文章:

  • 2021-10-10
  • 2021-12-09
  • 2022-01-24
  • 2021-08-02
猜你喜欢
  • 2022-01-02
  • 2022-03-03
  • 2021-11-07
  • 2021-09-11
  • 2022-02-08
  • 2021-08-24
相关资源
相似解决方案