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

我不太明白上面的語法,據我所知,它增加了一個新的路由對象RouteTable.Routes集合,路由對象有一個構造函數: Route(String,IRouteHandler)和'RouteValueDictionary'類型的屬性'Defaults',但是這裏的語法是什麼,它看起來像c#3.0中的對象初始化表達式,但它調用構造函數,任何人都可以解釋一下?這是什麼路徑登記語句的語法

非常感謝。

回答

0

它是一個對象初始化表達式,但這些表達式可以選擇性地包含構造函數參數。通常,當您看到這些初始化表達式時,正在使用默認構造函數,在這種情況下,您不需要new之後的parens。

+0

謝謝雅各布,這有助於 – Kma 2011-03-09 02:23:04