internal static string TryGetTypeSymbolFullName(BaseTypeSyntax node, SemanticModel semanticModel)
{
var displayFormat = new SymbolDisplayFormat(typeQualificationStyle: SymbolDisplayTypeQualificationStyle.NameAndContainingTypesAndNamespaces);
// Symbol can be found via Symbol
ISymbol symbol = semanticModel.GetSymbolInfo(node.Type).Symbol;
if (symbol != null)
{
return symbol.ToDisplayString(displayFormat);
}
// Symbol can be found via TypeSymbol
ITypeSymbol type = semanticModel.GetTypeInfo(node.Type).Type;
if (type != null)
{
return type.ToDisplayString(displayFormat);
}
// Could not find symbol
return null;
}