假设我有一个业务对象,它有一些属性应该是只读的。例如:
public class Order
{
...
public DateTime OrderDate { get; set; }
...
public decimal OrderTotal { get; set; }
}
还假设 OrderTotal 是由应用程序无法设置的存储过程返回的计算值(而 OrderDate 可以)。通常我会简单地编写没有公共设置器的 OrderTotal:
public decimal OrderTotal { get; private set; }
但是,如果我这样做,BLToolkit 将不再设置此属性的值。我也已经尝试将其编写为内部属性并将 BLToolkit 定义为友元程序集 ( InternalsVisibleTo("BLToolkit.4, PublicKey=xyz")
),但没有成功。
如何在没有公共设置器的情况下编写仍然可以由 BLToolkit 填充的属性?