Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Вложеные классы


Автор: rukudias 24.11.2007, 19:52
Превит всем!
Вопрос слудующий:
мистер Тролсен в книге
Язык программирования С# 2005 и платформа .NET2
на странице 230 написано

" Ввиду того что вложеный тип является членом класса контейнера этот тип может иметь доступ
к приватным членам данного класса"

я тут поискал на форуме про влож класы 
так там говорят что если не передать
явным образом ссылку на контейнер вложеному класу то счастья не будет!

А вот в JAVA влож класс получае эту сцылку по умолчанию
чо в .net2 чето изменилось?

Автор: tol05 24.11.2007, 20:24
Цитата(rukudias @  24.11.2007,  18:52 Найти цитируемый пост)
" Ввиду того что вложеный тип является членом класса контейнера этот тип может иметь доступ
к приватным членам данного класса"

я тут поискал на форуме про влож класы 
так там говорят что если не передать
явным образом ссылку на контейнер вложеному класу то счастья не будет!

а почему бы самому не проверить? Религия не позволяет?
Код

class A
{
    private int i;

    private class B
    {
        void F()
        {
            A a = new A();
            a.i = 10;
        }
    }
}

так что счастье есть, поживем еще ...

Автор: 1stain 24.11.2007, 22:01
Цитата(rukudias @  24.11.2007,  19:52 Найти цитируемый пост)
так там говорят что если не передатьявным образом ссылку на контейнер вложеному класу то счастья не будет!

даже если ты объявишь поля внешнего класса public, тебе все равно для доступа к ним из вложенного класса придецца 
Цитата
передать явным образом ссылку
 на объект внешнего класса, потому как будь класс хоть трижды вложенным, он не наследует класс-контейнер.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)