微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我最好只用一个代码示例来展示我想要实现的目标?
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));

原文地址:https://www.jb51.cc/csharp/99435.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐