Как достичь const-correctness в С#?

Возможный дубликат:
"const correctness" в С#

Я программировал С++ в течение многих лет, но довольно новичок в С#. Изучая С#, я обнаружил, что использование ключевого слова const гораздо более ограничено, чем на С++. AFAIK, есть, например, никак не объявлять аргументы функции const. Мне неловко с мыслью, что я могу сделать непреднамеренные изменения в аргументах моей функции (которые могут быть сложными структурами данных), которые я могу обнаружить только путем тестирования.

Как вы справляетесь с этой ситуацией?

Ответ 1

Существует отличная запись в блоге по этой проблеме Стэном Липпманом: Вопрос о const

Ответ 2

Если это имеет значение, я использую неизменяемые объекты. Или, как минимум, я использую логику в своих установщиках свойств.