假设我有一个业务对象,它的某些属性应该是只读的 。例如: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