本文整理汇总了C#中ISymbol.EnsureCSharpSymbolOrNull方法的典型用法代码示例。如果您正苦于以下问题:C# ISymbol.EnsureCSharpSymbolOrNull方法的具体用法?C# ISymbol.EnsureCSharpSymbolOrNull怎么用?C# ISymbol.EnsureCSharpSymbolOrNull使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ISymbol
的用法示例。
在下文中一共展示了ISymbol.EnsureCSharpSymbolOrNull方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: IsAccessibleCore
protected sealed override bool IsAccessibleCore(int position, ISymbol symbol)
{
return this.IsAccessible(position, symbol.EnsureCSharpSymbolOrNull<ISymbol, Symbol>("symbol"));
}
示例2: IsAccessible
/// <summary>
/// Determines if the symbol is accessible from the specified location.
/// </summary>
/// <param name="position">A character position used to identify a declaration scope and
/// accessibility. This character position must be within the FullSpan of the Root syntax
/// node in this SemanticModel.
/// </param>
/// <param name="symbol">The symbol that we are checking to see if it accessible.</param>
/// <returns>
/// True if "symbol is accessible, false otherwise.</returns>
/// <remarks>
/// This method only checks accessibility from the point of view of the accessibility
/// modifiers on symbol and its containing types. Even if true is returned, the given symbol
/// may not be able to be referenced for other reasons, such as name hiding.
/// </remarks>
public new bool IsAccessible(int position, ISymbol symbol)
{
position = CheckAndAdjustPosition(position);
if ((object)symbol == null)
{
throw new ArgumentNullException(nameof(symbol));
}
var cssymbol = symbol.EnsureCSharpSymbolOrNull<ISymbol, Symbol>("symbol");
var binder = this.GetEnclosingBinder(position);
if (binder != null)
{
HashSet<DiagnosticInfo> useSiteDiagnostics = null;
return binder.IsAccessible(cssymbol, ref useSiteDiagnostics, null);
}
return false;
}