dev*_*ium 22 c# code-contracts
Pure方法如下?我会这样说,因为它不会改变当前的类,因此,在运行此方法之前,我们现在可以在类中"看到"的所有内容在之后仍然完全相同.我对么?
class Set {
...
public ISet<T> UnionWith(ISet<T> set) {
ISet<T> unionSet = ...
foreach (Element element in this) {
unionSet.Add(element);
}
foreach (Element element in set) {
unionSet.Add(element);
}
return unionSet;
}
}
Run Code Online (Sandbox Code Playgroud)
Gab*_*abe 31
如果[Pure]您的意思是使用System.Diagnostics.Contracts中的Pure属性标记,则文档说:
纯方法不会使任何可见的状态变化.
由于您的方法似乎没有任何可见的状态更改(即没有副作用),因此它将符合该[Pure]属性的条件.