我有一個小問題,我不明白爲什麼,它很容易繞過它,但我仍然想明白。C#3.0 - 對象初始化程序
我有以下類:
public class AccountStatement : IAccountStatement
{
public IList<IAccountStatementCharge> StatementCharges { get; set; }
public AccountStatement()
{
new AccountStatement(new Period(new NullDate().DateTime,newNullDate().DateTime), 0);
}
public AccountStatement(IPeriod period, int accountID)
{
StatementCharges = new List<IAccountStatementCharge>();
StartDate = new Date(period.PeriodStartDate);
EndDate = new Date(period.PeriodEndDate);
AccountID = accountID;
}
public void AddStatementCharge(IAccountStatementCharge charge)
{
StatementCharges.Add(charge);
}
}
(注STARTDATE,結束日期,帳戶ID是自動的屬性...)
如果我使用這種方式:
var accountStatement = new AccountStatement{
StartDate = new Date(2007, 1, 1),
EndDate = new Date(2007, 1, 31),
StartingBalance = 125.05m
};
當我嘗試使用方法「AddStatementCharge:我結束了一個」null「StatementCha RGES列表...在一步一步,我清楚地看到我的列表獲取值,但只要我退出德實例行,我的名單成爲「空」
不能我的參數少構造函數調用另一個,我沒有accountID,所以不能直接調用它。 必須使用:如前所述。或者簡單地在無參數ctor中放置一個返回值。 謝謝! – pmlarocque 2008-09-24 15:33:39