當我有多層類和接口時,我對使用接口提取的最佳方法有點困惑。假設我有以下層次結構:提取具有複雜類結構的接口
Foo : WidgetBase, IWidget
WidgetBase: BusinessObject, IThingy
IThingy : IGenericObject
現在我知道我必須將IFoo接口提取到單獨的項目中;但是接口結構是否必須複製真實的結構 - 這意味着我必須爲BusinessObject和WidgetBase提取接口?還是這意味着我應該在創建提取的接口時將結構扁平化,創建1個接口IFoo,包含與Foo屬性及其所有父類和接口相對應的屬性,一直到層次結構?
在我的界面中還有一些枚舉類型屬性 - 我該如何最好地解決這些問題?
public interface IWidget
{
public WidgetType Type { get; set; }
}
public enum WidgetType
{
Big, Small
}
請說明一下。
也許查看此MSDN站點顯式接口實現可能有助於說明http://msdn.microsoft.com/en-us/library/vstudio/ms173157.aspx – MethodMan