Каков синтаксис этого оператора регистра маршрута

routes.Add(new Route("Catalog/{color}", new MvcRouteHandler())
{
   Defaults = new RouteValueDictionary(
     new { controller = "Products", action = "List" }
   )
});

Я не совсем понимаю вышеуказанный синтаксис, насколько я знаю, он добавляет новый объект маршрута в коллекцию RouteTable.Routes, у объекта Route есть конструктор: Route (String, IRouteHandler) и свойство 'Defaults' of ' Тип RouteValueDictionary', но какой здесь синтаксис, он выглядит как выражение инициализации объекта в C# 3.0, но он вызывает конструктор, кто-нибудь может объяснить это немного?

большое спасибо.

1 ответ

Это выражение инициализации объекта, но эти выражения могут дополнительно включать параметры конструктора. Как правило, когда вы видите эти выражения инициализации, используется конструктор по умолчанию, и в этом случае вам не нужны скобки после new,

Другие вопросы по тегам