Ejemplo n.º 1
0
        public override string ToString()
        {
            var td = EnumType.ResolveTypeDef();

            if (!(td is null))
            {
                var s = ModelUtils.GetEnumFieldName(td, Value);
                if (!(s is null))
                {
                    return($"{EnumType}.{s}");
                }
            }
            if (!IsArray)
            {
                return($"({(EnumType ?? (object)dnSpy_AsmEditor_Resources.UnknownEnum)}){Value}");
            }

            var list = Value as System.Collections.IList;

            if (list is null)
            {
                return($"({(EnumType ?? (object)dnSpy_AsmEditor_Resources.UnknownEnum)}[])null");
            }

            var sb = new StringBuilder();

            sb.Append($"new {(EnumType ?? (object)dnSpy_AsmEditor_Resources.UnknownEnum)}[] {{");
            for (int i = 0; i < list.Count; i++)
            {
                if (i > 0)
                {
                    sb.Append(',');
                }
                sb.Append(' ');
                var s = ModelUtils.GetEnumFieldName(td, list[i]);
                sb.Append(s ?? (Value is null ? "null" : Value.ToString()));
            }
            sb.Append(" }");
            return(sb.ToString());
        }
Ejemplo n.º 2
0
        public override string ToString()
        {
            var td = EnumType.ResolveTypeDef();

            if (td != null)
            {
                var s = ModelUtils.GetEnumFieldName(td, Value);
                if (s != null)
                {
                    return(string.Format("{0}.{1}", EnumType, s));
                }
            }
            if (!IsArray)
            {
                return(string.Format("({0}){1}", EnumType == null ? (object)dnSpy_AsmEditor_Resources.UnknownEnum : EnumType, Value));
            }

            var list = Value as System.Collections.IList;

            if (list == null)
            {
                return(string.Format("({0}[])null", EnumType == null ? (object)dnSpy_AsmEditor_Resources.UnknownEnum : EnumType));
            }

            var sb = new StringBuilder();

            sb.Append(string.Format("new {0}[] {{", EnumType == null ? (object)dnSpy_AsmEditor_Resources.UnknownEnum : EnumType));
            for (int i = 0; i < list.Count; i++)
            {
                if (i > 0)
                {
                    sb.Append(',');
                }
                sb.Append(' ');
                var s = ModelUtils.GetEnumFieldName(td, list[i]);
                sb.Append(s ?? (Value == null ? "null" : Value.ToString()));
            }
            sb.Append(" }");
            return(sb.ToString());
        }