我有一个在锦标赛中运行的应用程序,我收到了关于这个简化代码结构的合同警告:
public static void LoadState(IList<Object> stuff)
{
for(int i = 0; i < stuff.Count; i++)
{
// Contract.Assert(i < stuff.Count);
// Contract.Assume(i < stuff.Count);
Object thing = stuff[i];
Console.WriteLine(thing.ToString());
}
}
警告是:
contracts: requires unproven: index < @this.Count
我究竟做错了什么?我怎样才能证明这一点IList<T>
?这是静态分析器中的错误吗?如何向 Microsoft 提交错误报告?