Если вы ищете немного менее подробный синтаксис, вы можете создать подкласс Dictionary<string, object>
(или любого другого типа) следующим образом:
public class DebugKeyValueDict : Dictionary<string, object>
{
}
Затем просто инициализируйте вот так
var debugValues = new DebugKeyValueDict
{
{ "Billing Address", billingAddress },
{ "CC Last 4", card.GetLast4Digits() },
{ "Response.Success", updateResponse.Success }
});
Что эквивалентно
var debugValues = new Dictionary<string, object>
{
{ "Billing Address", billingAddress },
{ "CC Last 4", card.GetLast4Digits() },
{ "Response.Success", updateResponse.Success }
});
Преимущество заключается в том, что вы получаете все, что вам нужно, например, возможность сказать
is DebugKeyValueDict
вместо того is IDictionary<string, object>
или изменить типы ключа или значения позже. Если вы делаете что-то подобное на странице razor cshtml, это намного приятнее.
Помимо того, что вы менее подробны, вы, конечно, можете добавить в этот класс дополнительные методы для всего, что вам нужно.