Soy bastante nuevo en la programación de C#, por lo que esta es una pregunta para principiantes.Nivel de protección de un campo struct dentro de una clase
obtengo un "'A.Test.That.Fails' es inaccesible debido a su nivel de protección" error en el siguiente fragmento de código y no entiendo el motivo.
namespace A
{
class Test
{
public void Demo()
{
That[] it = new That[42];
it[0].fails = 21;
}
public struct That
{
int fails;
}
}
}
Viniendo de programación C++ y después de leer las normas de protección que son casi los mismos, ya que existe una sola clase que se puede esperar que funcione incluso si tanto el That
estructura y el método Demo
eran private
.
Como nota al margen, un enlace a algunas páginas que resumen el alcance y las reglas de protección para el programador C++ sería muy apreciado.
'A.Test.That.fails' .. ingenioso +1 – BoltClock
Ver la respuesta de Cody; hay una gran diferencia entre las estructuras y las clases en C#; Apenas están relacionados, de hecho. La mayoría de las veces que las personas usan una estructura en C#, es incorrecta. Asegúrate de usarlo por la razón correcta. "Debido a que es un objeto simple" no es una razón. –
@BoltClock:;) @Marc: ¿será una excusa "porque solo quiero una matriz rápida de pares escalares"? –