Este es el trato. Tengo un programa que cargará un ensamblaje determinado, analizará todos los tipos y sus miembros, compilará TreeView (muy similar al antiguo sitio MSDN) y luego compilará páginas HTML para cada nodo en TreeView. Básicamente, toma un ensamblaje determinado y permite al usuario crear su propia biblioteca similar a MSDN para fines de documentación.Sobrecargas de reflexión y operador en C#
Aquí está el problema que me he encontrado: siempre que una sobrecarga del operador se codifica en una clase definida, reflection la devuelve como "MethodInfo" con el nombre establecido como "op_Assign" u "op_Equality". Quiero ser capaz de capturarlos y listarlos correctamente, pero no puedo encontrar nada en el objeto MethodInfo que se devuelve para identificar con precisión que estoy mirando a un operador.
Definitivamente no quiero capturar todo lo que comienza con "op_", ya que con certeza (en algún momento) se detectará un método que se supone que no debe. Sé que otros métodos y propiedades que son "casos especiales" como este tienen la propiedad "IsSpecialName" establecida, pero aparentemente ese no es el caso con los operadores.
He estado recorriendo la red y agitando mi cerebro durante dos días tratando de resolver esto, por lo que cualquier ayuda será muy apreciada.
El proyecto NRefactory es relevante aquí. Tiene métodos de análisis para ayudar con esto. https://github.com/icsharpcode/NRefactory/blob/master/ICSharpCode.NRefactory.CSharp/Parser/mcs/method.cs – yoyo