トーナメントでラウンドを実行するアプリケーションがあり、この単純化されたコード構造に関する契約警告が表示されます。
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に送信するにはどうすればよいですか?