として保存されているさまざまなタイプの2つのオブジェクトを比較するコードを作成しようとしていますSystem.Object。
私はこのコードを試しました:
object a = GetValue(..);
object b = GetValue(..);
Type t = FindCommonType(a, b);
return a < b;
の結果GetValueは、次のいずれかのタイプのインスタンスです: long、double、string、bool、および独自のクラス
メソッドFindCommonTypeは のインスタンスを返します。System.Typeその機能は次のとおりです。
渡された引数の実際の型が同一である場合、
typeof(a)これも に関するものを返しますtypeof(b)。タイプが異なる場合は、 に変換
bしtypeof(a)て返しますtypeof(a)。の返されるインスタンスは、 、、および
System.Typeのいずれかです。typeof(long)typeof(int)typeof(double)typeof(float)
たとえば、 と の場合a = (long)123、b = "123"に変換bしてlongを返すtypeof(long)と、コードはそれらを比較します。
しかし、比較a < bは現在成功していません。
保留に関するさまざまなタイプの 2 つのオブジェクトを比較するにはどうすればよいType tですか?