如何比较两个对象,就像选项严格关闭一样

时间:2017-03-08 09:53:38

标签: vb.net

我有一个VB.NET项目(VB 2012,.NET Framework 4.5),我需要比较两个Object的相等性。具体来说,它是处理ADO Recordset对象的一些COM Interop代码,而Bookmark的{​​{1}}属性是COM Recordset,它会被转换进入VB.NET中的Variant

目前,我有Object,可让我使用Option Strict Off运算符比较Object。但是,我想为文件转=,然后执行" lax"在需要的几个地方进行比较。 "无类型编程与关系比较运算符" this MSDN page的一节解释了VB如何实现Option Strict OnObject之间的比较,我可以编写一个函数来做同样的事情。但似乎已经有了" lax"的实施。在.NET的某个地方比较,我不想重新实现这个轮子。有什么东西可以做我想要的吗?

1 个答案:

答案 0 :(得分:4)

查看生成的IL,当Option Strict Off适用objectA = objectB时编译为

Microsoft.VisualBasic.CompilerServices.Operators.ConditionalCompareObjectEqual(objectA ,objectB ,False)

因此,当您知道两种类型都是作为对象进入时,您应该能够直接使用该函数。

你当然需要测试。