我正在开发一个Windows Phone 8应用程序,我需要将后台代理的字节数组传递给前台应用程序。
为了实现这一点,我在C ++ / CX中编写了一个接口,它将在C#中实现,并将由后台进程回调。
接口声明为:
public interface class IStatusListener
{
void OnNewData(byte data[], int length);
};
但是我收到了像
这样的错误"公共成员的签名包含原生类型' byte []'""
如何在此声明字节数组?
答案 0 :(得分:1)
通过重写界面来解决它:
public interface class IStatusListener
{
void OnNewData(Platform::Array<byte>^* data);
};
答案 1 :(得分:0)
您的公共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
};