コード例 #1
0
ファイル: Native.cs プロジェクト: trinsic-id/okapi
    internal static TResponse Call <TRequest, TResponse>(TRequest request, NativeMethod nativeMethod)
        where TRequest : IMessage
        where TResponse : IMessage, new()
    {
        using var memory = new UnmanagedMemory();

        var code = nativeMethod(memory.ToByteBuffer(request.ToByteArray()), out var response, out var error);

        memory.ThrowOnError(error);

        var res = new TResponse();

        res.MergeFrom(memory.ToArray(response));
        return(res);
    }