Nếu bạn đang tìm kiếm cú pháp ít dài dòng hơn một chút, bạn có thể tạo một lớp con Dictionary<string, object>
(hoặc bất kỳ loại nào của bạn) như sau:
public class DebugKeyValueDict : Dictionary<string, object>
{
}
Sau đó, chỉ cần khởi tạo như thế này
var debugValues = new DebugKeyValueDict
{
{ "Billing Address", billingAddress },
{ "CC Last 4", card.GetLast4Digits() },
{ "Response.Success", updateResponse.Success }
});
Tương đương với
var debugValues = new Dictionary<string, object>
{
{ "Billing Address", billingAddress },
{ "CC Last 4", card.GetLast4Digits() },
{ "Response.Success", updateResponse.Success }
});
Lợi ích là bạn nhận được tất cả những thứ mà bạn có thể muốn, chẳng hạn như có thể nói
is DebugKeyValueDict
thay vì is IDictionary<string, object>
hoặc thay đổi loại khóa hoặc giá trị vào một ngày sau đó. Nếu bạn đang làm điều gì đó như thế này trong một trang cshtml dao cạo thì sẽ đẹp hơn rất nhiều.
Cũng như ít dài dòng hơn, tất nhiên bạn có thể thêm các phương thức bổ sung vào lớp này cho bất cứ điều gì bạn có thể muốn.