2 using System.Collections.Generic;
20 string N =
"{0}.{1}.{2}".Build(PropertyInfo.DeclaringType.Namespace, PropertyInfo.DeclaringType.Name, PropertyInfo.Name);
21 if (VSXmlDocu.PropertySummary.ContainsKey(N))
23 return VSXmlDocu.PropertySummary[N];
34 string N =
"{0}.{1}.{2}".Build(PropertyInfo.DeclaringType.Namespace, PropertyInfo.DeclaringType.Name, PropertyInfo.Name);
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";
138 return PropertyInfo.Name;
146 return PropertyInfo.PropertyType.Name;
154 return PropertyInfo.PropertyType.Namespace;
163 if (PropertyInfo.PropertyType.IsEnum)
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 +
"__";
171 string SN =
"{0}.{1}.{2}".Build(PropertyInfo.PropertyType.Namespace, PropertyInfo.PropertyType.Name, N);
172 if (VSXmlDocu.EnumSummary.ContainsKey(SN))
174 S +=
": " + VSXmlDocu.EnumSummary[SN].Replace(
"\n",
"");
192 List<PropertyDocuData> L =
new List<PropertyDocuData>();
193 if (!PropertyInfo.PropertyType.IsValueType && PropertyInfo.PropertyType.Namespace.ToUpper() !=
"SYSTEM")
195 if (PropertyInfo.PropertyType.IsGenericList())
197 Type ItemType = PropertyInfo.PropertyType.GetGetGenericCollectionTypeArguments()[0];
198 foreach (PropertyInfo PI
in ItemType.GetXMLSerializableProperties())
204 else if (PropertyInfo.PropertyType.IsGenericDictionary())
206 throw new NotImplementedException();
210 foreach (PropertyInfo PI
in PropertyInfo.PropertyType.GetXMLSerializableProperties())
PropertyInfo PropertyInfo
List< PropertyDocuData > ChildPropertyDocuDataList
string ValidValuesDescription