Compilation.IsSymbolAccessibleWithin(ISymbol, ISymbol, ITypeSymbol) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Vérifie si symbol
elle est accessible à partir de within
. Un qualificateur facultatif de type throughType
est utilisé pour résoudre l’accès protégé pour les membres d’instance. Tous les symboles doivent provenir de cette compilation ou d’un assembly référencé (References) par cette compilation. within
doit être un 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
Paramètres
- symbol
- ISymbol
- within
- ISymbol
- throughType
- ITypeSymbol
Retours
Remarques
Les soumissions peuvent référencer des symboles des soumissions précédentes et de leurs assemblys référencés, même si ces références sont manquantes References. Consultez https://github.com/dotnet/roslyn/issues/27356. Cette implémentation fonctionne également en autorisant les symboles des soumissions précédentes.
Il est recommandé d’éviter l’utilisation de cette API dans les compilateurs, car les compilateurs ont des exigences supplémentaires pour la vérification des accès qui ne sont pas satisfaites par cette implémentation, y compris l’évitement de récursivité infinie qui pourrait résulter de l’utilisation des API ISymbol ici, la détection des diagnostics de site d’utilisation et des détails retournés supplémentaires (à partir des API internes du compilateur) qui sont utiles pour diagnostiquer plus précisément les raisons de l’échec d’accessibilité.