您将如何在 C# .Net 中实现 System.Type.IsEquivalentTo (低于 4)的方法

本文关键字:IsEquivalentTo Type 低于 方法 System 实现 Net | 更新日期: 2023-09-27 18:35:04

C# .Net 3.5 或更早版本中重现相同内部逻辑的方法System.Type.IsEquivalentTo的等效实现是什么?

您将如何在 C# .Net 中实现 System.Type.IsEquivalentTo (低于 4)的方法

看看源代码,然后从那里开始。查看基本实现,似乎没有什么令人兴奋的事情发生。这里可能还有更多,但我想这和兔子洞一样深referencesource.microsoft.com

在旧版本的 .NET Framework 中,两种不同的类型永远不会等效,因此整个方法没有意义。如果该方法返回两种不同 COM 类型的true,则应该指示可以从其中一种 COM 类型强制转换为另一种 COM 类型(因为在 COM 世界中,它们是同一类型(。在 .NET 4 之前,你根本无法做到这一点,你会得到一个例外。

根据你追求的内容,你可以检查类型的 GUID(这不会帮助你使任何转换正常工作(,或使用==进行比较(这表示两个不同的 COM 包装类不是同一类型(。