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

我不太明白上面的语法,据我所知,它向 RouteTable.Routes 集合添加了一个新的路由对象,Route 对象有一个构造函数: Route(String, IRouteHandler)和一个属性 'Defaults' RouteValueDictionary' 类型,但是这里的语法是什么,它看起来像 c# 3.0 中的对象初始化表达式,但是它调用了构造函数,谁能解释一下?

非常感谢。

4

1 回答 1

0

它是一个对象初始化表达式,但这些表达式可以选择包含构造函数参数。通常,当您看到这些初始化表达式时,会使用默认构造函数,在这种情况下,您不需要new.

于 2011-03-08T23:24:06.397 回答