У меня есть класс, который имеет функцию получения для хеш-таблицы с именем _Parameters.
private Hashtable _Parameters = new Hashtable();
public Hashtable Parameters { get { return _Parameters; } }
_Parameters нигде не упоминается в коде. Теперь, поскольку нет функции setter, я думаю, что ничто за пределами этого класса не может изменить то, что хранилось в _Parameters, только прочитать его. Однако это не так. Другой класс вызывает этот код (где template является экземпляром класса, упомянутого выше)
template.Parameters[key] = parameters[key];
Это приводит к изменению _Parameters. Как это возможно? Применяются ли сеттеры только в том случае, если мы назначаем вейлы с '='?