2 using System.Collections.Generic;
5 using System.Reflection;
7 namespace DocumentationHelper
21 if (VSXmlDocu.PropertySummary.ContainsKey(N))
23 return VSXmlDocu.PropertySummary[N];
35 if (VSXmlDocu.PropertyValue.ContainsKey(N))
37 return VSXmlDocu.PropertyValue[N];
47 S +=
"\\subsubsection {0}_{1}_{2} {2}\n\n".Build(
PropertyInfo.ReflectedType.Namespace.Replace(
".",
"_"),
PropertyInfo.ReflectedType.Name,
Name);
53 if (!
Value.IsNullOrWhiteSpace())
63 else if (!
Summary.IsNullOrWhiteSpace())
75 string N = GetNestedPropertiesDocu(
this);
76 if (!N.IsNullOrWhiteSpace())
78 S +=
"__Nested Properties__\n\n";
79 S +=
"The following nested propteries exist for {0}:\n".Build(
Name);
96 string Indent =
new string(
' ', Level * 2);
98 L.Sort((PDD1, PDD2) => PDD1.Name.CompareTo(PDD2.Name));
103 S += Indent +
"* __{0}__<br/>".Build(PDD.
Name);
106 if (!PDD.
Value.IsNullOrWhiteSpace())
108 S += Indent +
" "+PDD.
Value;
116 else if (!PDD.
Summary.IsNullOrWhiteSpace())
118 S += Indent +
" " + PDD.
Summary;
121 string N = GetNestedPropertiesDocu(PDD, Level + 1);
122 if (!N.IsNullOrWhiteSpace())
124 S += Indent +
" This property has the following childs:\n";
165 S =
"The property {0} accepts the following values:\n\n".Build(
Name);
166 foreach (
string N
in Enum.GetNames(
PropertyInfo.PropertyType))
168 S +=
"* __" + N +
"__";
172 if (VSXmlDocu.EnumSummary.ContainsKey(SN))
174 S +=
": " + VSXmlDocu.EnumSummary[SN].Replace(
"\n",
"");
192 List<PropertyDocuData> L =
new List<PropertyDocuData>();
197 Type ItemType =
PropertyInfo.PropertyType.GetGetGenericCollectionTypeArguments()[0];
198 foreach (
PropertyInfo PI
in ItemType.GetXMLSerializableProperties())
204 else if (
PropertyInfo.PropertyType.IsGenericDictionary())
206 throw new NotImplementedException();