New
がこの例のWith
キーワードでどのように動作するかを、MVCフレームワークから説明できますか?VB.NET/ASP.NET Withおよび新しいキーワードの混乱
routes.MapRoute("Default",
"{controller}/{action}/{id}",
New With {.controller = "Home", .action = "Index", .id = ""})
New
がこの例のWith
キーワードでどのように動作するかを、MVCフレームワークから説明できますか?VB.NET/ASP.NET Withおよび新しいキーワードの混乱
routes.MapRoute("Default",
"{controller}/{action}/{id}",
New With {.controller = "Home", .action = "Index", .id = ""})
この構文は、VB.Netで匿名型を作成するために使用されます。
名前と値の組み合わせで、タイプをオンザフライで定義することができます。名前はすべて型のプロパティに変わります。リフレクターに生成されたアセンブリを開くと、これらのタイプを見ることができます。
With構文部分があなたを欺くことはできません。この機能はVB.Netの "With"コンテキスト機能とは関係ありません。 "。"以外値の名前の接頭辞。
それは指定されたプロパティを持つ新しい匿名クラスを作成します。
詳細情報はMSDNです。
ここで、 "new"はanonymousクラスを宣言しています。
このクラスには正式な定義がありません(つまり、「パブリッククラス」の定義はありません)。その構造は、の後にある中括弧内の項目によって定義されます。したがって、1つのステートメントでクラスを定義して構築します。