gpt4 book ai didi

c# - 为什么我通过 C# 代码得到格式错误的契约(Contract)?

转载 作者:太空狗 更新时间:2023-10-30 00:09:17 25 4
gpt4 key购买 nike

当我在下面编写这个合约时,Visual Studio 显示错误。

方法“....get_Page”中的错误 20 格式不正确的契约(Contract)部分

if block 有问题吗?

public int? Page
{
get
{
int? result = Contract.Result<int?>();

if (result != null)
Contract.Ensures(result >= 0);

return default(int?);
}
}

编辑:

Lasse V. Karisen 发表评论:

怎么样:Contract.Ensures(result == null || result >= 0); ?

是的,Karisen,我之前试过这个并且它可以编译。但问题仍然存在:在使用契约(Contract)时是否可以有 if

我遇到的另一个问题是无能为力(主要考虑上面的例子有效),还涉及结果的使用:

public int IndexOf(T item)
{
Contract.Assert(item != null);
Contract.Assert((item as IEntity).ID > 0);

int result = Contract.Result<int>();
Contract.Ensures(result >= -1);

return default(int);
}

最佳答案

契约(Contract)格式不正确,因为所有契约(Contract)条款必须出现在任何其他代码之前。

关于c# - 为什么我通过 C# 代码得到格式错误的契约(Contract)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1937774/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com