Compilation.IsSymbolAccessibleWithin(ISymbol, ISymbol, ITypeSymbol) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Проверяет, доступен ли symbol
доступ изнутри within
. Необязательный квалификатор типа throughType
используется для разрешения защищенного доступа для членов экземпляра. Все символы должны быть из этой компиляции или некоторых сборок, на которые ссылается (References) эта компиляция. within
является обязательным для того, чтобы быть INamedTypeSymbol или 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
Параметры
- symbol
- ISymbol
- within
- ISymbol
- throughType
- ITypeSymbol
Возвращаемое значение
Комментарии
Отправки могут ссылаться на символы из предыдущих отправок и их ссылочных сборок, даже если эти ссылки отсутствуют.References См. раздел https://github.com/dotnet/roslyn/issues/27356. Эта реализация работает вокруг этого, разрешая символы из предыдущих представлений.
Рекомендуется избежать использования этого API в компиляторах, так как компиляторы предъявляют дополнительные требования к проверке доступа, которые не удовлетворяются этой реализацией, включая предотвращение бесконечной рекурсии, которая может привести к использованию ИНТЕРФЕЙСов API ISymbol здесь, обнаружение диагностики сайта использования и дополнительные возвращаемые сведения (из внутренних API компилятора), которые полезны для более точной диагностики причин сбоя специальных возможностей.