Freigeben über


SemanticModel.LookupBaseMembers(Int32, String) Methode

Definition

Ruft die verfügbaren Basistypelemente im Kontext des angegebenen Speicherorts ab. Ein Vergleich LookupSymbols(Int32, INamespaceOrTypeSymbol, String, Boolean) mit dem Container, der auf den unmittelbaren Basistyp des Typs festgelegt ist, in position dem auftritt. Die Barrierefreiheitsregeln unterscheiden sich jedoch von den geschützten Elementen des Basistyps.

Betrachten Sie das folgenden Beispiel:

public class Base { protected void M() { } }

öffentliche Klasse abgeleitet : Base { void Test(Base b) { b.M(); // Error - kann nicht auf geschütztes Element zugreifen. Basis. M(); } }

Geschützte Elemente einer Instanz eines anderen Typs sind nur zugänglich, wenn die Instanz als "diese" Instanz bekannt ist (wie durch das Schlüsselwort "base" angegeben).

public System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.ISymbol> LookupBaseMembers (int position, string name = default);
public System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.ISymbol> LookupBaseMembers (int position, string? name = default);
member this.LookupBaseMembers : int * string -> System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.ISymbol>
Public Function LookupBaseMembers (position As Integer, Optional name As String = Nothing) As ImmutableArray(Of ISymbol)

Parameter

position
Int32

Die Zeichenposition zum Bestimmen des eingeschlossenen Deklarationsbereichs und der Barrierefreiheit.

name
String

Der Name des zu suchenden Symbols. Wenn null angegeben wird, werden Symbole mit allen Namen zurückgegeben.

Gibt zurück

Eine Liste der Symbole, die gefunden wurden. Wenn keine Symbole gefunden wurden, wird eine leere Liste zurückgegeben.

Hinweise

Die "Position" wird verwendet, um zu bestimmen, welche Variablen sichtbar und zugänglich sind.

Nicht reduzierte Erweiterungsmethoden werden berücksichtigt, aber reduzierte Erweiterungsmethoden sind nicht zulässig.

Gilt für: