Compartir a través de


Compilation.IsSymbolAccessibleWithin(ISymbol, ISymbol, ITypeSymbol) Método

Definición

Comprueba si symbol es accesible desde dentro de within. Se usa un calificador opcional de tipo throughType para resolver el acceso protegido para los miembros de instancia. Todos los símbolos deben ser de esta compilación o de algún ensamblado al que hace referencia esta compilación (References). within es necesario que sea o INamedTypeSymbolIAssemblySymbol.

public bool IsSymbolAccessibleWithin (Microsoft.CodeAnalysis.ISymbol symbol, Microsoft.CodeAnalysis.ISymbol within, Microsoft.CodeAnalysis.ITypeSymbol throughType = default);
public bool IsSymbolAccessibleWithin (Microsoft.CodeAnalysis.ISymbol symbol, Microsoft.CodeAnalysis.ISymbol within, Microsoft.CodeAnalysis.ITypeSymbol? throughType = default);
member this.IsSymbolAccessibleWithin : Microsoft.CodeAnalysis.ISymbol * Microsoft.CodeAnalysis.ISymbol * Microsoft.CodeAnalysis.ITypeSymbol -> bool
Public Function IsSymbolAccessibleWithin (symbol As ISymbol, within As ISymbol, Optional throughType As ITypeSymbol = Nothing) As Boolean

Parámetros

symbol
ISymbol
within
ISymbol
throughType
ITypeSymbol

Devoluciones

Comentarios

Los envíos pueden hacer referencia a símbolos de envíos anteriores y sus ensamblados a los que se hace referencia, aunque falten esas referencias de References. Vea https://github.com/dotnet/roslyn/issues/27356.. Esta implementación funciona en torno a esto al permitir también símbolos de envíos anteriores.

Se recomienda evitar el uso de esta API dentro de los compiladores, ya que los compiladores tienen requisitos adicionales para la comprobación de acceso que esta implementación no cumple, incluida la prevención de recursividad infinita que podría resultar del uso de las API de ISymbol aquí, la detección de diagnósticos de sitio de uso y detalles devueltos adicionales (de las API internas del compilador) que son útiles para diagnosticar con más precisión los motivos de error de accesibilidad.

Se aplica a