public IEnumerable <KeyValuePair <string, string> > GetRichDescription() { if (_typeName != " List") { if (_innerValue == null) { yield return(new KeyValuePair <string, string>(WellKnownRichDescriptionKinds.Name, _typeName)); } else { foreach (var kv in _innerValue.GetRichDescriptions()) { yield return(kv); } } } if (_typeArgs != null && _typeArgs.Any()) { yield return(new KeyValuePair <string, string>(WellKnownRichDescriptionKinds.Misc, "[")); bool addComma = false; foreach (var arg in _typeArgs) { if (addComma) { yield return(new KeyValuePair <string, string>(WellKnownRichDescriptionKinds.Comma, ", ")); } addComma = true; foreach (var kv in arg.GetRichDescriptions(unionPrefix: "[", unionSuffix: "]")) { yield return(kv); } } yield return(new KeyValuePair <string, string>(WellKnownRichDescriptionKinds.Misc, "]")); } }