我有一套對象,我想符合一個接口,說ISpecialObject。 然而,我想要在每個ISpecialObject的實現中封裝這些特殊對象的實例化觸發器。無法將靜態方法指定爲接口的一部分?
所以說例如我有作爲實現ISpecialObject的類類型列表,然後我想要通過每一個,並調用一個像CanCreate(一些數據),它告訴我是否創建一個實例的靜態方法這些。
但是,.net似乎沒有讓我指定這個靜態CanCreate作爲ISpecialObject接口的一部分。
任何人都可以提出一種方法來解決這個問題,或者更好的方法來解決這些對象的實例化封裝的問題?我可能只是在想這一切都是錯誤的。
謝謝。
編輯:我可能已經說了這個很糟糕的一些部分。我不想在接口中提供實現,而是指定將會有一個,並且它將是靜態的。本質上,我希望通過允許更高級別的對象查詢何時在運行時創建它們來自定義對象。
我討厭這個工廠模式,我更喜歡屬性。 – leppie 2010-08-25 05:15:12
我不是工廠的狂熱粉絲,但不會靜態決定屬性嗎?如果'CanCreate'取決於運行時間因素怎麼辦?此外,還涉及到反思,儘管您可以將其削減爲一次性成本。我希望看到更多你的意思。 – 2010-08-25 05:19:24
@Chris Schmich:查看任何.NET IoC庫。對於自定義行爲,你總是可以稱呼(咳嗽)工廠。 :) – leppie 2010-08-25 05:21:06