加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 代码合同:如何在后置条件中声明字段/属性的值没有改变?

发布时间:2020-12-15 07:45:46 所属栏目:百科 来源:网络整理
导读:我最好只用一个代码示例来展示我想要实现的目标? class SomeClass{ public int SomeProperty; public void SomeOperation() { Contract.Ensures( "SomeProperty's value has not changed." ); // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // How can I wri
我最好只用一个代码示例来展示我想要实现的目标?
class SomeClass
{
    public int SomeProperty;

    public void SomeOperation()
    {
        Contract.Ensures( "SomeProperty's value has not changed." );
                     //   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                     //    How can I write this post-condition?
    }
};

(传递给Contract.Ensures()的字符串当然只是实际后置条件表达式的占位符.)

我怎样才能做到这一点? Contract.OldValue<>()在这里有用吗?

解决方法

Contract.OldValue应该足够了:
Contract.Ensures(this.SomeProperty == Contract.OldValue(this.SomePropety));

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读