【问题标题】:Can I use a C# dll with unsafe code in VB.NET?我可以在 VB.NET 中使用带有不安全代码的 C# dll 吗?
【发布时间】:2010-02-21 20:50:19
【问题描述】:

C# 有一个 FastBitmap 类,可让您访问和修改位图的像素信息。我已经在一些 C# 项目中使用过它,但我现在在 VB.NET 中需要它。 问题是该类使用了不安全的代码,VB.NET 不支持。

问题是。我可以在 dll 中编译 FastBitmap 类并在 VB.NET 中使用它吗?

[编辑] 或者是否有一些库可以用来在 VB.NET 中修改像素数据?

【问题讨论】:

    标签: c# vb.net dll pixel unsafe


    【解决方案1】:

    是的,你可以这样做。

    如果该类没有在其公共接口中公开任何 不安全 功能(例如,采用指针的方法),那么您在 VB.NET 中使用它应该不会有任何问题。公共语言运行时 (CLR) 支持不安全代码,因此当您编写不安全的程序时,C# 不会做任何魔法

    如果您愿意,您还可以使用Marshal class 在 VB.NET 中重新实现 FastBitmap 类,这使您可以使用可从 VB.NET 访问的标准 .NET 接口快速访问内存。但在单个项目中混合多种语言的能力是 .NET 的一大优势。

    【讨论】:

      【解决方案2】:

      快速回答,是的。顺便说一句,你试过了吗?

      【讨论】:

      • 不,我没试过。想到这个想法的那一刻我很忙,没有时间进行实验。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-06
      • 2013-09-16
      • 1970-01-01
      • 2019-01-23
      相关资源
      最近更新 更多