документация PureAttribute а> говорит:
Указывает, что тип или метод являются чистыми, т. е. не вносят никаких видимых изменений состояния.
Является ли это единственным требованием к функции Pure в соответствии с контрактами Microsoft Code?
А также; предполагает ли эта модель, что исключения являются результатами (в отличие от побочных эффектов)?
Я спрашиваю, потому что в более общем контексте чистая функция также подразумевает, что результат зависит только от входа; т.е. это не может быть результатом ввода-вывода или стохастической функции.
Можно также утверждать, что чистая функция всегда возвращает значение внешнему выражению, возможно, в отличие от исключений.
Если [Pure] действительно ограничен менее ограничительной формой, существует ли эквивалент «[FunctionalPure]»?