Potrzebuję uzyskać pełną nazwę CLR konkretnego symbolu. Oznacza to, że dla typów ogólnych potrzebuję `1
, `2
itp. Dołączonych do typów. Teraz, ISymbol
ma już właściwość MetadataName
, która dokładnie to robi. Ale wyklucza otaczające typy i przestrzenie nazw, podając tylko nazwę symbolu pod ręką.Uzyskaj w pełni kwalifikowaną nazwę metadanych w Roslyn
Zwykła opcja uzyskania w pełni kwalifikowanej nazwy, tj. Poprzez ToDisplayString
, nie działa tutaj, ponieważ nie będzie używać MetadataName
dla różnych jej części.
Czy jest coś takiego wbudowanego? Czy muszę po prostu połączyć łańcuch s z .
pomiędzy? (I to nie wskazuje, gdzie to założenie zepsuje?)
EDIT: Właśnie zauważyłem, że trzeba +
w między poszczególnymi nazwami, czy jest to rodzaj zawartych w inny typ, ale oprócz tego, używając .
powinny działać, Zgaduję.
Proszę o wsparcie mojej Roslyn Issue na CodePlex dla tej funkcji: https://roslyn.codeplex.com/workitem/297 – JoshVarty
Członek zespołu Roslyn stworzył problem, zobacz https: //github.com/dotnet/roslyn/issues/1891 – bkoelman