我可以在VB.NET中使用带有不安全代码的C#dll吗?

时间:2010-02-21 20:50:19

标签: c# vb.net dll pixel unsafe

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

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

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

2 个答案:

答案 0 :(得分:6)

是的,你可以这样做。

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

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

答案 1 :(得分:2)

快速回答,。顺便问一下,你试过吗?