Вот сделка. У меня есть программа, которая будет загружать данную сборку, анализировать все типы и их члены и компилировать TreeView (очень похожий на старый сайт MSDN), а затем создавать HTML-страницы для каждого узла в TreeView. Он в основном принимает данную сборку и позволяет пользователю создавать для нее собственную библиотеку, подобную MSDN, для целей документирования.
Вот проблема, с которой я столкнулся: всякий раз, когда перегрузка оператора включается в определенный класс, отражение возвращает его как «MethodInfo» с именем, установленным в нечто вроде «op_Assign» или «op_Equality». Я хочу иметь возможность захватывать их и правильно перечислять их, но я не могу найти ничего в возвращаемом объекте MethodInfo, чтобы точно определить, что я смотрю на оператора.
Я определенно не хочу просто захватывать все, что начинается с "op_", так как это наверняка (в какой-то момент) выберет метод, который не должен. Я знаю, что другие методы и свойства, которые являются «особыми случаями», такими как этот, имеют свойство IsSpecialName, но, по-видимому, дело обстоит не так с операторами.
Я рыскал в сети и два дня ломал голову, пытаясь выяснить это, поэтому любая помощь будет принята с благодарностью.