Exemplo n.º 1
0
        /// <summary>
        /// Sets or updates an entry with the given key name.
        /// </summary>
        public Value SetValue(string key, SfoEntryType type, string @value, int maxLength = 4)
        {
            var v = Value.Create(key, type, @value, maxLength);

            this[key] = v;
            return(v);
        }
Exemplo n.º 2
0
        public static Value Create(string name, SfoEntryType type, string value, int maxLength = 4)
        {
            switch (type)
            {
            case SfoEntryType.Utf8Special:
                return(new Utf8SpecialValue(name, value, maxLength));

            case SfoEntryType.Utf8:
                return(new Utf8Value(name, value, maxLength));

            case SfoEntryType.Integer:
                int newNumber = 0;
                if (value.Contains("0x"))
                {
                    int.TryParse(value.Replace("0x", ""), NumberStyles.HexNumber, CultureInfo.InvariantCulture, out newNumber);
                }
                else
                {
                    int.TryParse(value, NumberStyles.Integer, CultureInfo.InvariantCulture, out newNumber);
                }
                return(new IntegerValue(name, newNumber));

            default:
                return(null);
            }
        }
Exemplo n.º 3
0
 public Value(string name, SfoEntryType type)
 {
     Name = name; Type = type;
 }