として保存されているさまざまなタイプの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
ですか?