Estoy intentando acceder al campo static
del struct
que ya definí como público. Sin embargo, todavía tengo "inaccesible debido a su nivel de protección" ¿Alguien puede ayudarme?C# Cómo acceder al campo estático de una estructura pública
public class Program
{
public struct AT_CMD
{
static int x = 7;
static byte[] cmd_mode = new byte[3] { 0x2B, 0x2B, 0x2B };
static byte[] end_device_assoc = new byte[4] { 0x41, 0x54, 0x41, 0x31 };
//should be 0 for end device, default is 0
static byte[] data_rate = new byte[4] { 0x41, 0x54, 0x42, 0x44 }; //3 for 9600, 5 for 38400
static byte[] channel = new byte[4] { 0x41, 0x54, 0x43, 0x48 }; //0x0B-0x1A
static byte[] Dest_addr_high = new byte[4] { 0x41, 0x54, 0x44, 0x48 }; //0 FOR 16bit
static byte[] Dest_addr_low = new byte[4] { 0x41, 0x54, 0x44, 0x4C };
static byte[] my_addr = new byte[4] { 0x41, 0x54, 0x4D, 0x59 }; // 0-0xFFFF
static byte[] carriage_return = new byte[1] { 0x0D };
}
static void Main()
{
int y = AT_CMD.x;
}
}
muchas gracias, por lo que incluso es estático, aún es privado ... ¿verdad? – fiftyplus
@gpakillsme: No, técnicamente el valor predeterminado es 'interno', aunque la distinción puede no ser importante para su caso. Consulte [aquí] (http://msdn.microsoft.com/en-us/library/ms173121.aspx) para obtener más información. –
@BlueRaja: En realidad, interno es el valor predeterminado para una estructura/clase no anidada en sí misma (es decir, 'struct AT_CMD' es lo mismo que' internal struct AT_CMD' si no está anidado). El valor predeterminado para miembros de clase/struct es 'private'. –