Когда вы перегружаете оператор, такой как operator +
, скомпилированный CIL выглядит примерно так:
.method public hidebysig specialname static bool op_Addition(...) { ... }
Зачем использовать здесь имя op_Addition
, а не, скажем, имя +
?
Я предполагаю, что синтаксис CIL должен был быть
.method public hidebysig specialname static bool +(...) { ... }
И имя члена, при поиске, было бы +
, а не op_Addition
.
Примечание: это вопрос о дизайне языка; «потому что спецификация так говорит» не является полезным ответом.