К сожалению, такие постусловия не поддерживаются. Я завел соответствующий реквест:
http://youtrack.jetbrains.com/issue/RSRP-306561
Если такой код у вас встречается часто могу порекомендовать завести extension method вроде такого:
public static class XDocumentEx
{
public static XElement RootEx(this XDocument doc)
{
var root = doc.Root;
Debug.Assert(root != null, "doc.Root != null");
return root;
}
}
Добавлю чуть оффтопика: мне немного режет глаз, что используется Root без проверки на ожидаемое имя. Я бы его все-таки проверил на случай, если на вход подсунут файл с другой схемой XML документа:
var doc = XDocument.Load(outputFile.Filename);
var rootElement = doc.Element("MyDocument");
// if (rootElement == null)
// Тут бросить исключение или вернуть пустой список
return rootElement.Elements("StroyInfo5UpdateInfo")
.Select(element => new StroyInfo5UpdateInfo() { ...} ).ToList();
Как-то так.