2013-12-21 95 views
3

我有一個屬性屬性,可以爲每個類定義一次,以及一個名爲ISql的空接口,我只是用它來標記允許使用我的自定義buillt ORM的對象。接口中的屬性屬性

有沒有辦法強制實現ISql的類至少有一次該屬性?

回答

7

不,屬性不是接口合同的一部分,就什麼實現必須提供而言。

對於這樣的事情,我通常只是添加一個單元測試,它使用反射來查找所有實現並以這種方式進行驗證。它不如編譯時檢查好,但在這種情況下它是最好的。

2

對於這種代碼驗證,我喜歡使用Nitriq。您可以使用Linq非常簡單地編寫自己的規則。

對於個人用途,您可以調用Nitriq來驗證代碼。

在大型項目中,我使用持續集成的一個步驟來運行Nitriq控制檯,以驗證規則是否符合代碼