0
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のオブジェクト初期化式のように見えますが、コンストラクターを呼び出します。誰かが少し説明できますか?

どうもありがとう。

4

1 に答える 1

0

これはオブジェクト初期化式ですが、これらの式にはオプションでコンストラクターパラメーターを含めることができます。通常、これらの初期化式が表示されている場合は、デフォルトのコンストラクターが使用されています。この場合、。の後に括弧は必要ありませんnew

于 2011-03-08T23:24:06.397 に答える