using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace RomCheater.Logging { public class EnumNameValuePair where TValue : IConvertible { #region implicit operators public static implicit operator TValue(EnumNameValuePair o) { return o.Value; } public static implicit operator TName(EnumNameValuePair o) { return o.Name; } #endregion public EnumNameValuePair() : this(default(TName)) { } public EnumNameValuePair(TName name) : this(name, default(TValue)) { } public EnumNameValuePair(TName name, TValue value) { this.Name = name; this.Value = value; } public TName Name { get; protected set; } public TValue Value { get; protected set; } public override string ToString() { return string.Format("[{0}: 0x{1:x8}]", Name.ToString(), Value); } } }