0
我對代碼合同相當陌生...而我遇到了一個問題。如何在查詢中使用代碼合同?
我有一個方法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();
我要實現我的項目代碼契約。我做了所有事情,直到我明白了這一點。當我運行靜態檢查器時,它暗示我需要添加一些關於查詢中定義的變量p和fAttr的前提條件(Contract.Requires)。而且,我還有一些未經證實的要求。
我該如何解決這個問題?有任何想法嗎?
MyClass的還包含兩個前提條件:
internal MyClass(PropertyInfo p, MyClassAttribute att)
{
Contract.Requires(p != null);
Contract.Requires(att != null);
...
}
感謝提前:)
哦親愛的,剛剛意識到我有我的StackOverflow篩選爲「未回答」的問題,已經回答了一段時間的舊問題...:P – porges 2011-01-19 10:20:58