Почему я получил предупреждение "CodeContracts: возможно, вызов метода для пустой ссылки" stream "." в этом примере кода?
public static void Test()
{
var request = (HttpWebRequest)HttpWebRequest.Create("some url");
Contract.Assume(request != null);
var stream = request.GetRequestStream();
stream.Flush(); // WARNING IN THIS LINE
}
Я спрашиваю, потому что я использую Reflector в System.Contracts.dll, а в методе GetRequestStream () класса HttpWebRequest есть следующая строка:
public virtual Stream GetRequestStream()
{
Contract.Ensures(Contract.Result<Stream>() != null, null, "Contract.Result<System.IO.Stream>() != null");
}