Obteniendo modificadores desde un MethodSymbol.
¿Cómo puedo obtener los modificadores de un método particular en una clase? Soy capaz de obtener el IMethodSymbol
pero no puedo encontrar ninguna propiedad que se refiera a los modificadores. Necesito saber si la accesibilidad del método es mayor que private
.
La clase en sí está declarada en la solución y mi punto de partida en el analizador es un SyntaxNodeAnalysisContext.Node
de tipo MemberAccessExpressionSyntax
(SyntaxKind.SimpleMemberAccessExpression
).
Estaba pensando en utilizar SyntaxGenerator
pero desde el SyntaxNodeAnalysisContext
no sé cómo recorrer a un Document
o solución/espacio de trabajo.
davy.ai
Para obtener los modificadores de un método en particular de una clase usando
IMethodSymbol
, se puede usar el métodoGetMethodDeclaration
para obtener el nodo de sintaxis que declara el método y luego usar la propiedadModifiers
del nodo para obtener los modificadores de acceso.Aquí está un ejemplo de código:
Tenga en cuenta que
SyntaxGenerator
no es necesario en este caso. Además, elSyntaxNodeAnalysisContext
no proporciona acceso directo aDocument
o solución/espacio de trabajo, pero se puede usar la propiedadSemanticModel
del contexto para obtener la información del símbolo del código analizado.