Есть два вопроса:Как получить Byte [] из C#
- Я пытаюсь сделать программу, которая будет нужно использовать COM-компонент (OCX), созданный MFC. Предположим, что имя компонента - MyOCX. MyOCX имеет функцию «ReadUserData (BYTE * Buf)». (Я вижу, что эта спецификация функции стала ReadUserData (ref byte Buf) в C#.) Buf на самом деле BYTE [30]. Содержание строка: 100.
Вот частичный мой код:
byte buf = new byte();
if (MyOCX.ReadUserData(ref buf))
{
for (int i = 0; i < 30; i++)
{
MyOCX.ReadUserData(ref buf);
textBox3.Text += (char)buf;
}
}
Там нет какой-либо ошибки во время работы, но содержание textBox3.Text будет «111111111111111111111111111111», я думаю, это потому, что я всегда получаю «100» первую букву «1» 30 раз.
Я хотел бы спросить, как написать этот код, чтобы я мог получить «100» от оригинального BYTE [30];
- Другой вопрос не только имеет ReadUserData (BYTE * Buf), но также имеет WriteUserData (BYTE * Buf). Я хотел бы написать «200» обратно в Buf. Скажите, пожалуйста, как это сделать.
спасибо.
Благодарим за помощь. После использования подхода, который вы сказали, он не может быть скомпилирован. Причина: 1. ReadUserData (ref buf) имеет недопустимый параметр. 2. Параметр 1: «ref byte []» не может быть переведен на «ref byte». –
попробуйте удалить ref –
Спасибо за вашу помощь. к сожалению, он не может быть скомпилирован. Он показывает, что «byte []» не может быть переведен на «ref byte». –