Я довольно новичок в контрактах по коду ... и столкнулся с проблемой.
Я имею в запросе LINQ метода, который идет что-то вроде этого:
MyClass[] fields =
(from p in rType.GetProperties()
where p.CanRead
let fAttr = p.GetCustomAttributes(typeof(MyClassAttribute), true).SingleOrDefault() as MyClassAttribute
where fAttr != null
select new MyClass(p, fAttr)).ToArray();
И я хочу внедрить кодовые контракты в моем проекте. Я сделал все хорошо, пока я не достиг этой точки. Когда я запускаю static checker, он предлагает мне добавить пару предварительных условий (Contract.Requires) в отношении переменных p и fAttr, которые определены в запросе. А еще у меня есть пара бездоказательных требований.
Как я могу решить это? Есть идеи?
MyClass также содержит два предварительных условия:
internal MyClass(PropertyInfo p, MyClassAttribute att)
{
Contract.Requires(p != null);
Contract.Requires(att != null);
...
}
Заранее спасибо:)