假設我有一個業務對象,它的某些屬性應該是隻讀的 。例如:BLToolkit:公共只讀屬性
public class Order
{
...
public DateTime OrderDate { get; set; }
...
public decimal OrderTotal { get; set; }
}
還假設的OrderTotal是由不能由應用程序來設置一個存儲過程返回的計算值(而訂購日期可以)。通常我只會寫的OrderTotal沒有公共的setter:
public decimal OrderTotal { get; private set; }
但是,如果我這樣做BLToolkit將不再設置此屬性的值。我也已經嘗試將其作爲內部屬性編寫,並將BLToolkit定義爲朋友程序集 (InternalsVisibleTo("BLToolkit.4, PublicKey=xyz")
),但沒有成功。
如何在沒有公共setter的情況下編寫一個屬性,該公共setter仍然可以由BLToolkit填充?
似乎這樣做,謝謝!你從哪裏瞭解到這個屬性? BLToolkit文檔似乎對此沒有提及。 – matk 2012-03-13 13:27:36
我在Blt討論組http://groups.google.com/group/bltoolkit/browse_thread/thread/108cc68e68333af2 上了解了它但是在文檔中沒有提到它,但是它有一個單元測試MemberMapperTest類 – 2012-03-14 11:33:21
謝謝,非常感謝。我喜歡BLToolkit,但文檔確實需要改進。 – matk 2012-03-15 09:13:08