Exemplo n.º 1
0
        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, "]"));
            }
        }