SemanticModel.LookupBaseMembers(Int32, String) 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.
Obtém os membros de tipo base disponíveis no contexto do local especificado. Semelhante à chamada LookupSymbols(Int32, INamespaceOrTypeSymbol, String, Boolean) com o contêiner definido como o tipo base imediato do tipo no qual position
ocorre. No entanto, as regras de acessibilidade são diferentes: os membros protegidos do tipo base ficarão visíveis.
Considere o seguinte exemplo:
classe pública Base { protected void M() { } }
classe pública Derivada: Base { void Test(Base b) { b.M(); // Error - não pode acessar o membro protegido. Base. M(); } }
Os membros protegidos de uma instância de outro tipo só poderão ser acessados se a instância for conhecida como "esta" instância (conforme indicado pela palavra-chave "base").
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)
Parâmetros
- position
- Int32
A posição do caractere para determinar o escopo e a acessibilidade da declaração que inclui.
- name
- String
O nome do símbolo a ser encontrado. Se nulo for especificado, os símbolos com nomes serão retornados.
Retornos
Uma lista de símbolos que foram encontrados. Se nenhum símbolo foi encontrado, uma lista vazia será retornada.
Comentários
A "posição" é usada para determinar quais variáveis são visíveis e acessíveis.
Métodos de extensão não reduzidos são considerados, mas métodos de extensão reduzidos não são.