不安全的c# -传递一个不安全的指针给一个方法

本文关键字:一个 不安全 指针 方法 | 更新日期: 2023-09-27 18:08:40

我在类的一个方法中收到一个指向二维数据集的不安全的byte*类型指针。我想在同一个类中定义另一个方法它会对这个指针做一些指针运算。当我尝试如下定义该方法时,我得到了几个编译时错误。看起来在类范围内不允许使用unsafe关键字。我该如何解决这个问题?

unsafe
{
    private byte* ReadIntoMemory(int rowIndex, int colIndex, int rowSize, int colSize, byte *abc)
    {
    }
}

如果我不使用unsafe,那么编译器将该方法的byte*参数标记为无效语法。

我试图编码ReadIntoMemory方法,以将引用返回到正确的内存位置,以编写如下代码-

byte *interestingMemoryLocation = ReadIntoMemory(locX, locY, sizeX, sizeY, basePointer);

不安全的c# -传递一个不安全的指针给一个方法

您需要将不安全关键字移动到方法签名中:

private unsafe byte* ReadIntoMemory(…