Se stai cercando una sintassi leggermente meno prolissa, puoi creare una sottoclasse di Dictionary<string, object>
(o qualunque sia il tuo tipo) come questa:
public class DebugKeyValueDict : Dictionary<string, object>
{
}
Quindi inizializza in questo modo
var debugValues = new DebugKeyValueDict
{
{ "Billing Address", billingAddress },
{ "CC Last 4", card.GetLast4Digits() },
{ "Response.Success", updateResponse.Success }
});
Che è equivalente a
var debugValues = new Dictionary<string, object>
{
{ "Billing Address", billingAddress },
{ "CC Last 4", card.GetLast4Digits() },
{ "Response.Success", updateResponse.Success }
});
Il vantaggio è che ottieni tutte le cose del tipo di compilazione che potresti desiderare, come essere in grado di dire
is DebugKeyValueDict
invece di is IDictionary<string, object>
o modificare i tipi di chiave o valore in un secondo momento. Se stai facendo qualcosa di simile all'interno di una pagina cshtml razor, è molto più bello da guardare.
Oltre ad essere meno prolisso, puoi ovviamente aggiungere metodi extra a questa classe per qualsiasi cosa tu voglia.