关于使用 API 与另一个应用程序交互的应用程序编程,我可以使用 VB 和 C# 访问库 (API),因为这两个代码都有效地编译(此时我将称之为“有限理解”)相同的 CIL 或 IL?
编辑:该应用程序已经使用 C# 构建,并且规范是使用应用程序的 API 为自定义功能编写 C#。我真的不知道它是什么类型的 API。
一般来说,是的。Visual Basic 早在 C# 出现之前就有互操作支持,因此您往往会找到使用Declare关键字的声明。这不能完全替代 pinvoke 声明。但这不是问题,它<DllImport>
与 C# 一样支持属性。它们都使用内置在 CLR 中的完全相同的 pinvoke 编组器,并公开了它的所有功能。
一个小的极端情况是需要使用指针的 api 声明,VB.NET 不直接支持。从技术上讲,您可以在 C# 中声明类型化指针,但无论如何您几乎总是将它们展平为 IntPtr。它们在 VB.NET 中与在 C# 中一样可用。
尽早承诺一门语言,你不想花时间做两次。请记住,您编写的用于隐藏用 C# 编写的 api 复杂性的包装类也可用于 VB.NET。所以,如果你做对了,它就完全不重要了。