是否可以在编译时不知道它们的装箱类型的情况下比较两个对象?例如,如果我有一个object{long}
and object{int}
,有没有办法知道装箱值是否相等?
我的方法检索两个泛型object
,在编译时无法知道它们的内部类型是什么。现在,通过以下代码进行比较:
_keyProperties[x].GetValue(entity, null).Equals(keyValues[x])
例如,其中_keyProperties[x].GetValue(entity, null)
是 aobject{long}
并且keyValues[x]
是 a object{int}
(但它们也可以倒置)。
我需要这个,因为我正在为我的单元测试构建一个模拟存储库,并且我已经开始包含一个通用存储库实现,如此处所述。Find
此实现在其方法中比较了两个通用的假数据库键。