SemanticModel.LookupBaseMembers(Int32, String) 方法

定義

取得指定位置內容中的可用基底類型成員。 類似于將容器設定為發生所在類型之立即基底型 position 別的 呼叫 LookupSymbols(Int32, INamespaceOrTypeSymbol, String, Boolean) 。 不過,協助工具規則不同:基底類型的受保護成員會顯示。

請思考一下下列範例:

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

public 類別衍生:Base { void Test (Base b) { b.M () ; // Error - 無法存取受保護的成員。 基地。M () ;} }

只有當實例已知為 「this」 實例時,才能存取另一種類型的受保護成員, (,如 「base」 關鍵字所指示) 。

C#
public System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.ISymbol> LookupBaseMembers(int position, string name = default);
C#
public System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.ISymbol> LookupBaseMembers(int position, string? name = default);

參數

position
Int32

用來判斷封入宣告範圍和協助工具的字元位置。

name
String

要尋找的符號名稱。 如果指定 null,則會傳回具有任何名稱的符號。

傳回

找到的符號清單。 如果找不到符號,則會傳回空的清單。

備註

「位置」可用來判斷哪些變數是可見且可存取的。

系統會考慮非縮減的擴充方法,但不會降低擴充方法。

適用於

產品 版本
Roslyn 4.2.0, 4.3.0, 4.4.0, 4.5.0, 4.6.0, 4.7.0, 4.8.0, 4.9.2, 3.0.0, 3.1.0, 3.2.0, 3.2.1, 3.3.1, 3.4.0, 3.5.0, 3.6.0, 3.7.0, 3.8.0, 3.9.0, 3.10.0, 3.11.0, 4.0.1, 4.1.0, 4.12.2, 4.13.0