Каков синтаксис этого оператора регистра маршрута
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
,