Java.Nio.ByteBuffer to c#



我正在字符串中使用c#xamarin项目中的以下代码。

在Java中,

ByteBuffer buffer=ByteBuffer.allocate(8);
UsbRequest request=new UsbRequest();

现在,我正试图将这两行代码转换为c#,用于我的xamarin项目

Java.Nio.ByteBuffer m_rinfo;
Int32 m_bytes = 64;
UsbRequest m_request = new UsbRequest();
m_request.Queue(m_rinfo, 64);<<error

最后一行给出一个错误,"使用指定变量‘m_rinfo’

我尝试用将字节分配给m_rinfo

Java.Nio.ByteBuffer m_rinfo = new byte[64];

这给出了错误,无法隐式转换类型字节

如有任何帮助,我们将不胜感激。

我发现我可以将线条转换为;

Java.Nio.ByteBuffer m_rinfo = Java.Nio.ByteBuffer.Allocate(64);
Int32 m_bytes = 64;
UsbRequest m_request = new UsbRequest();
m_request.Queue(m_rinfo, 64); 

然而,当程序到达行时;

 m_request.Queue(m_rinfo, 64); 

我收到错误;

引发了"Java.Lang.RuntimeException"

那么这句话怎么了?

您尝试过m_request.Queue(out m_rinfo, 64);吗;?据我所知,当c#中的一个变量被传递给一个方法,意图在其中更改其值时,就会使用out。例如:

ListOfSomeKind list = null;
methodToFillListWithData(out list);

最新更新