public void GenerateTypePage(ITextBuilder htmlBuilder, String type) { Type enumOrObjectType; if (npcExecutor.EnumAndObjectTypes.TryGetValue(type, out enumOrObjectType)) { htmlBuilder.AppendAscii(TypeAsHtml(enumOrObjectType) + "<br/>"); if (enumOrObjectType.IsEnum) { htmlBuilder.AppendAscii("<span class=\"cskeyword\">enum</span> {<table class=\"enumtable\">"); Array enumValues = EnumReflection.GetValues(enumOrObjectType); for (int i = 0; i < enumValues.Length; i++) { Enum enumValue = (Enum)enumValues.GetValue(i); htmlBuilder.AppendAscii("<tr><td> " + enumValue.ToString() + "</td><td> = " + enumValue.ToString("D") + ",</tr>"); } htmlBuilder.AppendAscii("</table>}"); } else { htmlBuilder.AppendAscii("<span class=\"cskeyword\">object</span> {<table class=\"objecttable\">"); FieldInfo[] fieldInfos = enumOrObjectType.GetFields(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance); if (fieldInfos != null && fieldInfos.Length > 0) { for (int i = 0; i < fieldInfos.Length; i++) { FieldInfo fieldInfo = fieldInfos[i]; htmlBuilder.AppendAscii("<tr><td> "); htmlBuilder.AppendAscii(TypeAsHtml(fieldInfo.FieldType)); htmlBuilder.AppendAscii("</td><td> "); htmlBuilder.AppendAscii(fieldInfo.Name); htmlBuilder.AppendAscii(";</tr>"); } } htmlBuilder.AppendAscii("</table>}"); } return; } Type sosPrimitiveType = type.TryGetSosPrimitive(); if (sosPrimitiveType != null) { htmlBuilder.AppendAscii(TypeAsHtml(sosPrimitiveType) + " is a primitive type"); return; } //htmlBuilder.AppendFormat("<a href=\"#\" class=\"cstype\">{0}</a> is an unknown type", type); htmlBuilder.AppendAscii("<a href=\"#\" class=\"cstype\">"); htmlBuilder.AppendAscii(type); htmlBuilder.AppendAscii("</a> is an unknown type"); }
internal override String UsageArgValues() { String[] enumNames = EnumReflection.GetNames(typeof(EnumType)); StringBuilder builder = new StringBuilder(); builder.Append("Values={"); for (int i = 0; i < enumNames.Length; i++) { if (i > 0) { builder.Append(','); } builder.Append(enumNames[i]); } builder.Append("}"); if (hasDefault) { builder.Append(" Default="); builder.Append(defaultValue); } return(builder.ToString()); }