我正在編寫一個用於財務建模的類庫。IEnumerable與具體類實現中的列表
我想定義模型使用接口來創建抽象測試,以及可能後來添加新的具體類。
我在如何定義事物列表上掙扎,所以我稍後可以添加到具體類中的列表中。
例如,如果我定義一個接口作爲我的模型被稱爲具有費用清單
IEnumerable的費用{獲得;設置;}
想要創建一個名爲ABCModel的具體類,並在其中包含具體的XYZExpense列表,那麼實現列表的最佳方式是什麼,以便我可以輕鬆地向列表中添加更多項目?
我無法將列表轉換爲IEnumerable。
因此,例如:
public interface IFinancialModel
{
IEnumerable<IExpense> Expenses { get; }
IEnumerable<IRevenue> Revenue { get; }
IEnumerable<IAsset> Assets { get; }
IEnumerable<ILiability> Liabilities { get; }
}
我需要一個叫做公共類FinancialModel具體類:IFinancialModel
,並能夠添加具體項目。
我應該創建自己的'添加'方法嗎?理想情況下,我想利用內置列表功能,而不是重新發明輪子。
而不是定義他們都爲IEnumerable的,如果你想列表功能將它們定義爲IList的。 –
Kevin
@Kevin正是我一直在寫...但你說這第一 –