Я пытаюсь создать класс (в C #), который служит средой для моего приложения.
Я пытаюсь сделать класс динамическим и отправить его в качестве параметра сущностям в моем приложении. Проблема в том, что я хочу иметь возможность изменять свойства этого класса среды (публичные сеттеры), но в то же время я хочу, чтобы классы, которые получают среду, не могли использовать эти сеттеры.
Кажется, я не могу найти хороший способ сформулировать мой вопрос (который, как я полагаю, является одной из причин, по которой я не могу найти ничего подобного в Google или MSDN), но вкратце, I хочу создать класс с сеттерами, которые доступны только для некоторых моих объектов и не для всех .
В настоящее время я забавляюсь следующей идеей:
Избегайте общедоступных сеттеров и открывайте приватные поля, используя регистрацию событий.
Класс будет регистрироваться для событий в новом третьем объекте (отправляется в качестве параметра конструктору). Методы, которые будут зарегистрированы средой, не намного больше, чем сеттеры, поэтому запуск этих событий «разрешит доступ» к закрытым полям.
Мне бы понравились некоторые идеи (учитывая, что я чувствую, что моя не так уж велика), или, что еще лучше, некоторые модели, которые я мог бы использовать.
Заранее спасибо