Ejemplo n.º 1
0
            internal void XmlSerialize(XmlWriter xw)
            {
                string def = $"{DisplayType} {InternalName}";

                if (ParamUtil.IsBitType(DisplayType) && BitSize != -1)
                {
                    def += $":{BitSize}";
                }
                else if (ParamUtil.IsArrayType(DisplayType))
                {
                    def += $"[{ArrayLength}]";
                }

                if (Default != 0)
                {
                    def += $" = {Default.ToString("R", CultureInfo.InvariantCulture)}";
                }

                xw.WriteAttributeString("Def", def);
                xw.WriteDefaultElement(nameof(DisplayName), DisplayName, InternalName);
                xw.WriteDefaultElement("Enum", InternalType, DisplayType.ToString());
                xw.WriteDefaultElement(nameof(Description), Description, null);
                xw.WriteDefaultElement(nameof(DisplayFormat), DisplayFormat, ParamUtil.GetDefaultFormat(DisplayType));
                xw.WriteDefaultElement(nameof(EditFlags), EditFlags.ToString(), ParamUtil.GetDefaultEditFlags(DisplayType).ToString());
                xw.WriteDefaultElement(nameof(Minimum), Minimum, ParamUtil.GetDefaultMinimum(DisplayType), "R", CultureInfo.InvariantCulture);
                xw.WriteDefaultElement(nameof(Maximum), Maximum, ParamUtil.GetDefaultMaximum(DisplayType), "R", CultureInfo.InvariantCulture);
                xw.WriteDefaultElement(nameof(Increment), Increment, ParamUtil.GetDefaultIncrement(DisplayType), "R", CultureInfo.InvariantCulture);
                xw.WriteDefaultElement(nameof(SortID), SortID, 0);
            }