首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何为purity设置异常属性?

如何为purity设置异常属性?
EN

Stack Overflow用户
提问于 2014-11-27 03:58:37
回答 2查看 95关注 0票数 3

我有像bellow这样的类,我只想让xFoo方法中改变,而不是其他属性。我不能像下面的例子那样使用[Pure],因为它锁定了所有属性:

代码语言:javascript
运行
复制
public class Test
{
    private int x,y,z; //number of these properties is large

    [Pure]
    public void Foo()
    {
        //only x must be allowed to change
    }
}

除了x之外,我不想对所有其他属性使用类似的东西

代码语言:javascript
运行
复制
Contract.Ensures(Contract.OldValue<int>(y) == y);
Contract.Ensures(Contract.OldValue<int>(z) == z);
...//and for other large number of properties

有没有办法做到这一点?

EN

回答 2

Stack Overflow用户

发布于 2014-11-28 04:55:20

不幸的是,使用Contracts的标准方式找不到我。

但是你可以这样使用(这种方式有一些限制):

代码语言:javascript
运行
复制
    public class Test
    {
        public int x, y, z;//....

        public void Foo()
        {
            x = FooBody();
        }

        [Pure]
        private int FooBody()
        {
            int value = x;
            //work with value as x
            return value;
        }
    }
票数 1
EN

Stack Overflow用户

发布于 2014-11-28 02:50:49

似乎在Contract类中没有实现此目的的方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27157855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档