不安全的C# - 将不安全的指针传递给方法

时间:2015-08-19 00:00:04

标签: c# pointers native unsafe

我收到了一个不安全的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);

1 个答案:

答案 0 :(得分:1)

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

private unsafe byte* ReadIntoMemory(…