Друзья в C#
От: sada12  
Дата: 13.07.09 07:45
Оценка: 2 (1)
Сейчас читаю паттерны ООП банды четырех и вижу, что для реализации некоторых паттернов используется механизм friend классов C++.

Возникает закономерный вопрос, а как быть в C#, когда необходимо дать выборочный доступ? Т.е. одним классам можно обращаться к закрытым полям, а всем остальным нельзя.

Пока что придумал только вариант с областью видимости.

    class A
    {
        private Int32 n;

        public class B
        {
            public void AccessN()
            {
                var a = new A();
                a.n = 213;
            }
        }
    }


Тут вложенный класс вроде как друг своего контейнера.

P.S. Для чего это надо — см. паттерн Хранитель (Memento).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.