我只是瞎搞在這裏對堆棧溢出回答別人的問題,當我注意到一個靜態驗證警告從我的Visual Studio(2008年)內:.NET代碼合同:它能比這個更基礎嗎?
string[] source = { "1", "A", "B" };
var sourceObjects = Array.ConvertAll(source, c => new Source(c)).ToArray();
我得到的消息需要未經證實的來源! = null。對我來說這似乎很明顯,情況並非如此。這僅僅是一個例子。另一方面,一些非常漂亮的東西似乎工作得很好。
我使用1.2.20518.12版本(5月18日)。我發現代碼合同非常有趣,但是其他人有過這種情況嗎?您是否認爲當前的實施可以在實踐中使用,或者您現在認爲它們純屬學術嗎?
我做了這個社會的維基,但我想聽到一些意見:)
? :) – 2009-08-09 12:37:55
差不多,是的:)說實話,我對它印象非常深刻。 – 2009-08-09 12:38:18
我還沒有深入內部工作,但如何定義先決條件和後置條件已存在於現有版本的基類庫中的方法?我猜他們只是放棄了通常在分配中產生的任何ccrewrite? – Thorarin 2009-08-09 12:39:41