Bagikan melalui


Compilation.IsSymbolAccessibleWithin(ISymbol, ISymbol, ITypeSymbol) Metode

Definisi

Memeriksa apakah symbol dapat diakses dari dalam within. Kualifikasi opsional jenis throughType digunakan untuk mengatasi akses yang dilindungi untuk anggota instans. Semua simbol harus berasal dari kompilasi ini atau beberapa perakitan yang dirujuk (References) oleh kompilasi ini. within diperlukan untuk menjadi INamedTypeSymbol atau IAssemblySymbol.

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

Parameter

symbol
ISymbol
within
ISymbol
throughType
ITypeSymbol

Mengembalikan

Keterangan

Pengiriman dapat mereferensikan simbol dari pengiriman sebelumnya dan rakitan yang direferensikan, meskipun referensi tersebut hilang dari References. Lihat https://github.com/dotnet/roslyn/issues/27356. Implementasi ini bekerja di sekitar itu dengan mengizinkan simbol dari pengiriman sebelumnya juga.

Disarankan untuk menghindari penggunaan API ini dalam kompilator, karena kompilator memiliki persyaratan tambahan untuk pemeriksaan akses yang tidak puas dengan implementasi ini, termasuk menghindari rekursi tak terbatas yang dapat dihasilkan dari penggunaan API ISymbol di sini, deteksi diagnostik situs penggunaan, dan detail tambahan yang dikembalikan (dari API internal pengkompilasi) yang berguna untuk mendiagnosis alasan kegagalan aksesibilitas dengan lebih tepat.

Berlaku untuk