c# - 如何静态验证某些 C# 代码是否正常运行?

标签 c# .net functional-programming

在 C# 中以函数式风格编写时,是否有任何工具可以静态验证类是不可变的且函数是纯函数?我想这在一般情况下是不可能的,但在 90% 的时间里都是正确的工具仍然有用。

我可以想象一些反射检查所有成员变量都是 readonly,并且所有成员类型(和所有可见子类型)也是不可变的(递归地)。我不知道功能检查将如何开始运作。

最佳答案

[Immutable] 和 [Pure] 注释似乎是针对此的。查看适用于 .NET 4.0 的按契约(Contract)设计工具。 IIRC,不过,静态验证仅适用于 VS Ultimate。

关于c# - 如何静态验证某些 C# 代码是否正常运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5119381/

相关文章:

javascript - 将方法转换为以此为第一个参数的函数的函数

c# - 使用正则表达式捕获第一个匹配项 (C#)

c# - 在 VS 2010 中找不到 "StyleApplication"工具栏?

c# - 像 StackoverFlow 一样设置日期时间格式

c# - 选择所有复选框和 CheckedListBox

c# - 如何在 Xamarin iOS 中绘制文本?

c# - 无法解析 ASP.Net Core 中类型“ServiceStack.Redis.Generic.IRedisTypedClient”的服务

c# - 如何将 Expression 转换为 CSharpCompilation 或 CSharpSyntaxTree?

javascript - 函数式编程何时 curry

haskell - 依赖类约束的不明确类型变量