0

これを実行したいのですが、GCHandleはnull許容ではありません。バッファに関連付けられたIntPtrを取得し、後でそれを解放するためにGCHandleが必要なので、IntPtrを返すだけのオプションではありません。

public GCHandle PacketToGCHandle(PacketAdmin packet)
{
    byte[] data;
    bool result;
    if ((data = PacketToByteData(packet)) != null)
    {
        GCHandle pinnedArray = GCHandle.Alloc(data, GCHandleType.Pinned);
        return pinnedArray;
    }
    else
    {
        result = false;
        report.BindReport(architecture.report);
    }
    return null;
}
4

1 に答える 1

3

null許容にする必要があります:

public GCHandle? PacketToGCHandle(PacketAdmin packet)

これは次の短いバージョンです:

public Nullable<GCHandle> PacketToGCHandle(PacketAdmin packet)

Valueその値(存在する場合)はプロパティを通じて取得でき、HasValueプロパティはそれが存在するかどうかを示しますnull

于 2013-02-03T20:14:30.823 に答える