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

时间:2014-05-28 12:50:07

标签: c# windows-phone-8 c++-cx

我正在开发一个Windows Phone 8应用程序,我需要将后台代理的字节数组传递给前台应用程序。

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

接口声明为:

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

但是我收到了像

这样的错误
  

"公共成员的签名包含原生类型' byte []'""

如何在此声明字节数组?

2 个答案:

答案 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
};