Si está buscando una sintaxis un poco menos detallada, puede crear una subclase de Dictionary<string, object>
(o del tipo que sea) como esta:
public class DebugKeyValueDict : Dictionary<string, object>
{
}
Entonces solo inicializa así
var debugValues = new DebugKeyValueDict
{
{ "Billing Address", billingAddress },
{ "CC Last 4", card.GetLast4Digits() },
{ "Response.Success", updateResponse.Success }
});
Que es equivalente a
var debugValues = new Dictionary<string, object>
{
{ "Billing Address", billingAddress },
{ "CC Last 4", card.GetLast4Digits() },
{ "Response.Success", updateResponse.Success }
});
El beneficio es que obtienes todo el tipo de compilación que podrías desear, como poder decir
is DebugKeyValueDict
en vez de is IDictionary<string, object>
o cambiar los tipos de clave o valor en una fecha posterior. Si está haciendo algo como esto dentro de una página cshtml de razor, es mucho más agradable de ver.
Además de ser menos detallado, por supuesto, puede agregar métodos adicionales a esta clase para lo que desee.