Ejemplo n.º 1
0
        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>&nbsp;" + enumValue.ToString() + "</td><td>&nbsp;= " + 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>&nbsp;");
                            htmlBuilder.AppendAscii(TypeAsHtml(fieldInfo.FieldType));
                            htmlBuilder.AppendAscii("</td><td>&nbsp;");
                            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");
        }
Ejemplo n.º 2
0
        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());
        }