Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将字节数组声明为公共成员_C#_Windows Phone 8_C++ Cx - Fatal编程技术网

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

C# 将字节数组声明为公共成员,c#,windows-phone-8,c++-cx,C#,Windows Phone 8,C++ Cx,我正在开发一个WindowsPhone8应用程序,我需要将字节数组从后台代理传递到前台应用程序 为了实现这一点,我正在用C++/CX编写一个接口,该接口将用C#实现,并将由后台进程调用 接口声明为: public interface class IStatusListener { void OnNewData(byte data[], int length); }; 但我得到一个错误,比如 “公共成员的签名包含本机类型“byte[]”” 如何在这里声明字节数组 您的公共WinRT类不能在

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

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

接口声明为:

public interface class IStatusListener
{
   void OnNewData(byte data[], int length);
};
但我得到一个错误,比如

“公共成员的签名包含本机类型“byte[]””


如何在这里声明字节数组

您的公共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
};
类本机{};
公共参考类MyRef密封
{
私人:

voidFoo1(本机n){}/通过重新写入接口解决了此问题:

public interface class IStatusListener
{
   void OnNewData(Platform::Array<byte>^* data);
};
公共接口类侦听器
{
void OnNewData(平台::数组^*数据);
};

我明白了,但你的回答没有具体说明解决方法。