Compilation.IsSymbolAccessibleWithin(ISymbol, ISymbol, ITypeSymbol) Methode

Definition

Überprüft, ob symbol von innen withinaus zugegriffen werden kann. Ein optionaler Qualifizierer des Typs throughType wird verwendet, um geschützten Zugriff für Instanzmitglieder zu lösen. Alle Symbole sind erforderlich, um aus dieser Kompilierung oder einer Assembly auf diese Kompilierung verwiesen (References) zu sein. within ist erforderlich, um eine INamedTypeSymbol oder 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

Parameter

symbol
ISymbol
within
ISymbol
throughType
ITypeSymbol

Gibt zurück

Hinweise

Übermittlungen können Symbole aus früheren Übermittlungen und ihren referenzierten Assemblys verweisen, auch wenn diese Verweise fehlen References. Siehe https://github.com/dotnet/roslyn/issues/27356.. Diese Implementierung funktioniert auch durch Die Genehmigung von Symbolen aus früheren Übermittlungen.

Es wird empfohlen, die Verwendung dieser API in den Compilern zu vermeiden, da die Compiler zusätzliche Anforderungen für die Zugriffsüberprüfung haben, die von dieser Implementierung nicht erfüllt sind, einschließlich der Vermeidung von unendlichen Rekursion, die aus der Verwendung der ISymbol-APIs hier, der Erkennung von Verwendungswebsitediagnosen und zusätzlichen zurückgegebenen Details (aus den internen APIs des Compilers) resultieren könnten, die für eine präzisere Diagnose von Barrierefreiheitsgründen hilfreich sind.

Gilt für: