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

Aar*_*ndt 2 c# vb.net dll unsafe pixel

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

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

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

Tom*_*cek 6

是的,你可以这样做.

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

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