我正在尝试比较两种存储为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
目前尚未成功。
如何比较Type t
所持有的各种类型的两个对象?