如何在运行时检查函数是否没有副作用(纯净的?)>

问题描述 投票:0回答:1

可以这么说,我们已经加载了一个函数F,该函数接收/取出一组args并返回一个result。如何在运行时检查F是否对args成员和函数没有作用?表示没有Console.Writeline,单例(或args中未显示的其他内容)。 CodeContracts库或其他解决方案有可能吗?

说我们知道CodeContracts属性已出现在函数定义中。当我们有一个[Pure]时,这在很多情况下都是很糟糕的,但至少会有些帮助

可以这么说,我们已经加载了一个函数F,该函数接收/取出一组args并返回结果。如何在运行时检查此F是否对args成员和函数以外的其他对象不起作用?表示没有...

c# .net reflection side-effects
1个回答
0
投票

函数是否具有输入或结果都没有关系。代码主体中可能发生太多事情,例如实例化的对象构造函数。问题是现代语言。

© www.soinside.com 2019 - 2024. All rights reserved.