Compilation.IsSymbolAccessibleWithin(ISymbol, ISymbol, ITypeSymbol) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.