Condividi tramite


Compilation.IsSymbolAccessibleWithin(ISymbol, ISymbol, ITypeSymbol) Metodo

Definizione

Verifica se symbol è accessibile dall'interno withindi . Un qualificatore facoltativo di tipo throughType viene usato per risolvere l'accesso protetto per i membri dell'istanza. Tutti i simboli devono essere da questa compilazione o da alcuni assembly a cui viene fatto riferimento (References) da questa compilazione. within è necessario essere un INamedTypeSymbol oggetto o 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

Parametri

symbol
ISymbol
within
ISymbol
throughType
ITypeSymbol

Restituisce

Commenti

Gli invii possono fare riferimento ai simboli degli invii precedenti e agli assembly a cui si fa riferimento, anche se tali riferimenti mancano da References. Vedere https://github.com/dotnet/roslyn/issues/27356. Questa implementazione funziona anche in questo modo consentendo i simboli degli invii precedenti.

È consigliabile evitare l'uso di questa API all'interno dei compilatori, poiché i compilatori hanno requisiti aggiuntivi per il controllo di accesso che non sono soddisfatti da questa implementazione, incluso l'evitare la ricorsione infinita che potrebbe risultare dall'uso delle API ISymbol qui, il rilevamento della diagnostica del sito di utilizzo e altri dettagli restituiti (dalle API interne del compilatore) utili per la diagnosi più precisa dei motivi di accessibilità.

Si applica a