Я использую структуру, показанную нижене удается получить доступ к Объявлены структурам с объектом
public struct TPCANMsg
{
/// <summary>
/// 11/29-bit message identifier
/// </summary>
public uint ID;
/// <summary>
/// Type of the message
/// </summary>
[MarshalAs(UnmanagedType.U1)]
public TPCANMessageType MSGTYPE;
/// <summary>
/// Data Length Code of the message (0..8)
/// </summary>
public byte LEN;
/// <summary>
/// Data of the message (DATA[0]..DATA[7])
/// </summary>
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
public byte[] DATA;
}
Затем объявляется объект для структуры в поле ниже
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Peak.Can.Basic;
namespace rcToOnBoardPC
{
class Communication
{
// CAN Status Decalaration
TPCANStatus gStatus;
// List of CAN Messages
TPCANMsg msg1 = new TPCANMsg();
msg1.ID = 0x100;
}
}
Я получаю следующее сообщение об ошибке "Ошибка 1 Недопустимого маркера '=' в объявлении члена класса, структуры или интерфейса. " Не могу понять, почему я не могу получить доступ к структуре с соответствующим объектом. Пожалуйста, направляйте.
'msg1.ID = 0x100;' плавает вне метода, помещает его в ctor? –
Или просто 'TPCANMsg msg1 = новый TPCANMsg {ID = 0x100};' –
@AlexK. Пожалуйста, уточните «ctor». Пожалуйста, постарайтесь выразить это проще. Я не так хорошо экипирован, как вы, когда речь идет о программировании. Предпочтительным является пример. Поскольку, задавая вопросы, нужно быть ясным, я бы ожидал, что эксперты, давая ответ, более ясны. –