在 C# 中以函数式风格编写时,是否有任何工具可以静态验证类是不可变的且函数是纯函数?我想这在一般情况下是不可能的,但在 90% 的时间里都是正确的工具仍然有用。
我可以想象一些反射检查所有成员变量都是 readonly
,并且所有成员类型(和所有可见子类型)也是不可变的(递归地)。我不知道功能检查将如何开始运作。
最佳答案
[Immutable] 和 [Pure] 注释似乎是针对此的。查看适用于 .NET 4.0 的按契约(Contract)设计工具。 IIRC,不过,静态验证仅适用于 VS Ultimate。
关于c# - 如何静态验证某些 C# 代码是否正常运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5119381/