При написании в функциональном стиле на C #, есть ли инструменты для статической проверки того, что классы неизменны, а функции чисты?Я полагаю, что это невозможно в общем случае, но инструмент, который подходит 90% времени, все еще будет полезен.
Я могу представить себе некоторое отражение, которое проверяет, что все переменные-члены readonly
, и чтовсе типы членов (и все видимые подтипы) также являются неизменяемыми (рекурсивно).Я понятия не имею, как начнет работать проверка функций.