将字节数组声明为公共成员

本文关键字:成员 声明 字节 字节数 数组 | 更新日期: 2023-09-27 18:05:38

我正在开发一个windows phone 8应用程序,我需要将字节数组从后台代理传递到前台应用程序。

为了实现这一点,我正在用c++/CX编写一个接口,该接口将在c#中实现,并将由后台进程调用。

接口声明为:

public interface class IStatusListener
{
   void OnNewData(byte data[], int length);
};

但是我得到了像

这样的错误

" public成员的签名包含本机类型'byte []'"

如何在这里声明一个字节数组?

将字节数组声明为公共成员

通过重写接口解决:

public interface class IStatusListener
{
   void OnNewData(Platform::Array<byte>^* data);
};

您的公共WinRT类不能在其公共签名中使用非rt类型。这是人们在开始编写WinRT组件时经常遇到的问题。例如,请参见下面的代码:

class Native { };
public ref class MyRef sealed
{
private:
        voidFoo1(Native n) { } // <--This is fine
public:
        voidFoo2(Native n) { } // <--This won't compile
};