Se você está procurando uma sintaxe um pouco menos detalhada, pode criar uma subclasse de Dictionary<string, object>
(ou qualquer que seja o seu tipo) como esta:
public class DebugKeyValueDict : Dictionary<string, object>
{
}
Então é só inicializar assim
var debugValues = new DebugKeyValueDict
{
{ "Billing Address", billingAddress },
{ "CC Last 4", card.GetLast4Digits() },
{ "Response.Success", updateResponse.Success }
});
Que é equivalente a
var debugValues = new Dictionary<string, object>
{
{ "Billing Address", billingAddress },
{ "CC Last 4", card.GetLast4Digits() },
{ "Response.Success", updateResponse.Success }
});
A vantagem é que você obtém todas as coisas do tipo de compilação que você pode querer, como ser capaz de dizer
is DebugKeyValueDict
ao invés de is IDictionary<string, object>
ou alterando os tipos de chave ou valor em uma data posterior. Se você estiver fazendo algo assim em uma página cshtml do razor, é muito mais agradável de olhar.
Além de ser menos prolixo, você pode adicionar métodos extras a esta classe para o que quiser.