名單也許我是愚蠢的,但...接口與接口
我:
public interface IRequest
{
IList<IRequestDetail> Details { get; set; }
// stuff
}
public interface IRequestDetail
{
// stuff
}
我那麼有:
public class MyRequest : IRequest
{
IList<MyRequestDetail> Details {get; set; }
// stuff
}
public class MyRequestDetail : IRequestDetail
{
// stuff
}
它不工作。
C#因爲MyRequest由於沒有IRequestDetail的IList而沒有實現接口,所以很生氣。
現在,如果我改變它,所以詳細信息是IRequestDetail的IList,然後我必須將它強制轉換爲MyRequestDetail中的任何地方我使用非接口成員(我有幾個請求共享常見的東西,但然後專門化)。
我有點理解它爲什麼錯了,但並不完全!
我認爲隨着鑄造,你正在刪除接口的規定。 – 2009-04-30 16:11:19
Yah ...當寫「我有幾個共享常見問題的請求,但然後專門化」我有點意識到,也許我有界面瘋狂和忽略,這是更好的只是繼承?我不確定它是否會有相同的問題。 – anonymous 2009-04-30 16:30:03
@huey,你會遇到同樣的問題,但編寫的代碼較少。 :)我嘗試做YAGNI(你不需要它),但接口是我的一個惡習。我做了太多它們以便我可以在單元測試中使用模擬框架 – 2009-04-30 16:32:53