title: Get fully-qualified metadata name in Roslyn
body: <p>I need to get the full CLR name of a particular symbol. This means that for generic types I need the <code>`1</code>, <code>`2</code>, etc. appended to types. Now, <code>ISymbol</code> already has a property <code>MetadataName</code> which does exactly that. But it excludes surrounding types and namespaces, only giving the name of the symbol at hand.</p>
  
  <p>The usual option for getting a fully-qualified name, i.e. via <code>ToDisplayString</code> doesn't quite work here because it will not use the <code>MetadataName</code> for its various parts.</p>
  
  <p>Is there anything like this built-in? Or do I have to just concatenate the chain of <code>ContainingSymbol</code>s with <code>.</code> in between? (And are there points where this assumption breaks down?)</p>
  
  <p><strong>EDIT:</strong> Just noticed that you need a <code>+</code> in between individual names if it's a type contained in another type, but apart from that, using <code>.</code> should work, I guess.</p>