Защита уровень поля структуры внутри класса

Я новичок в программировании на C #, так что это, вероятно, новичок вопрос.

Я получаю «'A.Test.That.Fails' недоступен из-за его уровня защиты» ошибка в следующем фрагменте кода, и я не могу понять причину.

namespace A
{
    class Test
    {
        public void Demo()
        {
            That[] it = new That[42];
            it[0].fails = 21;
        }

        public struct That
        {
            int fails;
        }
    }
}

Ожидается из программирования на C ++ и прочитав, что правила защиты почти такие же, поскольку существует единственный класс, я ожидаю, что он будет работать, даже если структура That и метод Demo будут закрытыми .

В качестве примечания. была бы очень признательна ссылка на некоторую страницу с кратким описанием области действия и правил защиты для программиста на C ++.

9
задан Julien Guertault 28 March 2011 в 09:17
поделиться