gpt4 book ai didi

vb.net - 如何比较两个对象,就好像 Option Strict 关闭一样

转载 作者:行者123 更新时间:2023-12-05 00:52:28 25 4
gpt4 key购买 nike

我有一个 VB.NET 项目(VB 2012,.NET Framework 4.5),我需要比较两个 Object s 平等。具体来说,它是一些处理 ADO 的 COM Interop 代码 Recordset对象,以及 Bookmark Recordset 的属性是一个 COM Variant ,它变成了 Object在 VB.NET 中。

目前,我有 Option Strict Off ,这让我可以比较 Object s 使用 =运算符(operator)。不过,我想转Option Strict On对于文件,只需在需要它的几个地方进行“松散”比较。 this MSDN page 的“使用关系比较运算符的无类型编程”部分解释了 VB 如何实现 Object 之间的比较s 与 Option Strict Off ,我可以写一个函数来做同样的事情。但似乎 .NET 中某处已经实现了“松散”比较,我不想重新实现轮子。有什么东西可以做我想做的事吗?

最佳答案

查看生成的 IL,当 Option Strict Off适用 objectA = objectB被编译为
Microsoft.VisualBasic.CompilerServices.Operators.ConditionalCompareObjectEqual(objectA ,objectB ,False)
因此,当您知道两种类型都作为对象传入时,您应该能够直接使用该函数。

你当然需要测试。

关于vb.net - 如何比较两个对象,就好像 Option Strict 关闭一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42668041/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com