提交 e4e3ae4f 编写于 作者: C CyrusNajmabadi

Use pattern switch

上级 76c63c39
......@@ -34,24 +34,17 @@ public IVsNavInfo CreateForReference(MetadataReference reference)
public IVsNavInfo CreateForSymbol(ISymbol symbol, Project project, Compilation compilation, bool useExpandedHierarchy = false)
{
if (symbol is IAssemblySymbol assemblySymbol)
switch (symbol)
{
return CreateForAssembly(assemblySymbol);
}
if (symbol is IAliasSymbol aliasSymbol)
{
symbol = aliasSymbol.Target;
}
if (symbol is INamespaceSymbol namespaceSymbol)
{
return CreateForNamespace(namespaceSymbol, project, compilation, useExpandedHierarchy);
}
if (symbol is ITypeSymbol typeSymbol)
{
return CreateForType(typeSymbol, project, compilation, useExpandedHierarchy);
case IAssemblySymbol assemblySymbol:
return CreateForAssembly(assemblySymbol);
case IAliasSymbol aliasSymbol:
symbol = aliasSymbol.Target;
break;
case INamespaceSymbol namespaceSymbol:
return CreateForNamespace(namespaceSymbol, project, compilation, useExpandedHierarchy);
case ITypeSymbol typeSymbol:
return CreateForType(typeSymbol, project, compilation, useExpandedHierarchy);
}
if (symbol.Kind == SymbolKind.Event ||
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册