我想让我的类不可变。明显的方法是将所有字段声明为get; private set;
并在构造函数中初始化所有字段。因此客户端必须在构造函数中提供所有内容。问题是当有大约 10 个或更多字段在构造函数中传递它们时变得非常不可读,因为每个字段都没有标签。
例如,这是非常易读的:
info = new StockInfo
{
Name = data[0] as string,
Status = s,
LotSize = (int)data[1],
ISIN = data[2] as string,
MinStep = (decimal)data[3]
};
与此相比:
new StockInfo(data[0] as string, s, (int) data[1], data[2] as string, (decimal) data[3])
现在成像我有 10 个或更多参数。
那么我怎样才能使类不可变保存可读性呢?
我建议在使用构造函数时只使用相同的格式:
info = new StockInfo(
data[0] as string, // Name
s, // Status
(int)data[1], // LotSize
data[2] as string, // ISIN
(decimal)data[3] // MinStep
);
你能推荐一些更好的东西吗?