Compartilhar via


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

Definição

Verifica se symbol está acessível de dentro within. Um qualificador opcional do tipo throughType é usado para resolver o acesso protegido para membros de instância. Todos os símbolos devem ser dessa compilação ou de algum assembly referenciado (References) por essa compilação. within é necessário ser um INamedTypeSymbol ou IAssemblySymbol.

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

Retornos

Comentários

Os envios podem referenciar símbolos de envios anteriores e seus assemblies referenciados, mesmo que essas referências estejam ausentes References. Veja https://github.com/dotnet/roslyn/issues/27356. Essa implementação funciona em torno disso permitindo símbolos de envios anteriores também.

É recomendável evitar o uso dessa API dentro dos compiladores, pois os compiladores têm requisitos adicionais para verificação de acesso que não são atendidos por essa implementação, incluindo a evitação de recursão infinita que pode resultar do uso das APIs ISymbol aqui, a detecção de diagnóstico de site de uso e detalhes adicionais retornados (das APIs internas do compilador) que são úteis para diagnosticar com mais precisão os motivos de falha de acessibilidade.

Aplica-se a