Compilation.IsSymbolAccessibleWithin(ISymbol, ISymbol, ITypeSymbol) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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.」を参照してください。 この実装では、以前の申請のシンボルも許可することで、これを回避できます。
コンパイラには、ISymbol API の使用による無限再帰の回避、ユース サイト診断の検出、アクセシビリティエラーの理由をより正確に診断するのに役立つ追加の返された詳細 (コンパイラの内部 API) など、この実装では満たされないアクセス チェックの追加要件があるため、コンパイラ内でのこの API の使用は避けるようにすることをお勧めします。
適用対象
.NET