共用方式為


Compilation.IsSymbolAccessibleWithin(ISymbol, ISymbol, ITypeSymbol) 方法

定義

檢查 是否 symbol 可從 中 within 存取。 類型的 throughType 選擇性限定詞可用來解析實例成員的受保護存取。 所有符號都必須來自這個編譯,或是這個編譯所 References 參考 () 的元件。 within 必須是 INamedTypeSymbolIAssemblySymbol

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

參數

symbol
ISymbol
within
ISymbol
throughType
ITypeSymbol

傳回

備註

即使遺漏 References 來自 的參考,提交也可以參考先前提交的符號及其參考的元件。 請參閱https://github.com/dotnet/roslyn/issues/27356. 此實作可藉由允許先前提交的符號來解決此問題。

建議您避免在編譯器內使用此 API,因為編譯器對於存取檢查沒有滿足的額外需求,包括避免因此處使用 ISymbol API 而造成的無限遞迴、偵測使用月臺診斷,以及編譯器內部 API 的額外傳回 (詳細資料) ,有助於更精確地診斷協助工具失敗的原因。

適用於