public static bool Equals <T>(params object[] args) where T : IComparable { T x = args[0].GetType() == typeof(string) ? LogBook.Get <T>((string)args[0]) : (T)args[0]; T y = args[1].GetType() == typeof(string) ? LogBook.Get <T>((string)args[1]) : (T)args[1]; return(x.Equals(y)); }
// strings will always be ref-type public static bool GreaterThan <T>(params object[] args) where T : IComparable { T x = args[0].GetType() == typeof(string) ? LogBook.Get <T>((string)args[0]) : (T)args[0]; T y = args[1].GetType() == typeof(string) ? LogBook.Get <T>((string)args[1]) : (T)args[1]; return(x.CompareTo(y) > 0); }