Поделиться через


SemanticModel.LookupBaseMembers(Int32, String) Метод

Определение

Возвращает доступные элементы базового типа в контексте указанного расположения. Акин вызов LookupSymbols(Int32, INamespaceOrTypeSymbol, String, Boolean) с контейнером, для которого задан непосредственный базовый тип типа, в котором position происходит. Однако правила специальных возможностей отличаются: защищенные элементы базового типа будут видны.

Рассмотрим следующий пример.

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

открытый класс, производный: Base { void Test(Base b) { b.M(); // Error - не удается получить доступ к защищенному члену. Базы. M(); } }

Защищенные члены экземпляра другого типа доступны только в том случае, если экземпляр известен как "этот" (как указано ключевым словом 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)

Параметры

position
Int32

Позиция символа для определения включающей области объявления и специальных возможностей.

name
String

Имя символа, который требуется найти. Если задано значение NULL, возвращаются символы с любыми именами.

Возвращаемое значение

Список найденных символов. Если символы не найдены, возвращается пустой список.

Комментарии

Позиция используется для определения видимых и доступных переменных.

Неунижаемые методы расширения считаются, но методы расширения сокращены не являются.

Применяется к