--- trunk/RomCheater.Logging/EnumNameValuePair.cs 2012/05/10 15:30:14 115 +++ trunk/RomCheater.Logging/EnumNameValuePair.cs 2012/06/03 20:40:36 269 @@ -14,13 +14,13 @@ namespace RomCheater.Logging public static implicit operator string(EnumNameValuePair o) { return o.Name; } public static TValue operator |(EnumNameValuePair x, EnumNameValuePair y) { return bitwise_or(x, y); } public static TValue operator &(EnumNameValuePair x, EnumNameValuePair y) { return bitwise_and(x, y); } - public static bool operator ==(EnumNameValuePair x, EnumNameValuePair y) { return x == y; } - public static bool operator !=(EnumNameValuePair x, EnumNameValuePair y) { return x != y; } + public static bool operator ==(EnumNameValuePair x, EnumNameValuePair y) { return x.Value.Equals(y.Value); } + public static bool operator !=(EnumNameValuePair x, EnumNameValuePair y) { return !x.Value.Equals(y.Value); } public override bool Equals(object obj) { EnumNameValuePair t = (obj as EnumNameValuePair); if (t == null) return false; - return this.Equals(t); + return this.Value.Equals(t.Value); } public override int GetHashCode() { @@ -161,7 +161,7 @@ namespace RomCheater.Logging { return bitwise_or(new EnumNameValuePair("",x), new EnumNameValuePair("",y)); } - internal static TValue bitwise_or(params EnumNameValuePair[] values) + public static TValue bitwise_or(params EnumNameValuePair[] values) { if (!(values.Length > 1 )) { throw new InvalidOperationException("bitwise_or must have at least two operands"); } TValue value = default(TValue); @@ -173,7 +173,7 @@ namespace RomCheater.Logging { return bitwise_and(new EnumNameValuePair("", x), new EnumNameValuePair("", y)); } - internal static TValue bitwise_and(params EnumNameValuePair[] values) + public static TValue bitwise_and(params EnumNameValuePair[] values) { if (!(values.Length > 1)) { throw new InvalidOperationException("bitwise_and must have at least two operands"); } TValue value = default(TValue);