Jeśli szukasz nieco mniej szczegółowej składni, możesz utworzyć podklasę Dictionary<string, object>
(lub jakikolwiek inny typ) w następujący sposób:
public class DebugKeyValueDict : Dictionary<string, object>
{
}
Następnie po prostu zainicjuj w ten sposób
var debugValues = new DebugKeyValueDict
{
{ "Billing Address", billingAddress },
{ "CC Last 4", card.GetLast4Digits() },
{ "Response.Success", updateResponse.Success }
});
Co jest równoważne
var debugValues = new Dictionary<string, object>
{
{ "Billing Address", billingAddress },
{ "CC Last 4", card.GetLast4Digits() },
{ "Response.Success", updateResponse.Success }
});
Korzyścią jest to, że dostajesz wszystkie rzeczy typu kompilacji, których możesz chcieć, takie jak możliwość powiedzenia
is DebugKeyValueDict
zamiast is IDictionary<string, object>
lub zmianę typów klucza lub wartości w późniejszym terminie. Jeśli robisz coś takiego na stronie cshtml maszynki do golenia, jest to o wiele przyjemniejsze.
Oprócz bycia mniej szczegółowym możesz oczywiście dodać dodatkowe metody do tej klasy, co tylko zechcesz.