0

として保存されているさまざまなタイプの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その機能は次のとおりです。

  1. 渡された引数の実際の型が同一である場合、typeof(a)これも に関するものを返しますtypeof(b)

  2. タイプが異なる場合は、 に変換 btypeof(a)て返しますtypeof(a)

  3. の返されるインスタンスは、 、、およびSystem.Typeのいずれかです。typeof(long)typeof(int)typeof(double)typeof(float)

たとえば、 と の場合a = (long)123b = "123"に変換bしてlongを返すtypeof(long)と、コードはそれらを比較します。

しかし、比較a < bは現在成功していません。

保留に関するさまざまなタイプの 2 つのオブジェクトを比較するにはどうすればよいType tですか?

4

0 に答える 0