1

DefaultValue 属性を使用するこの ASP.NET MVC2 メソッド シグネチャの違いは何ですか。

public ActionResult DoStuff([DefaultValue(MyEnum.Alpha)] MyEnum enumToUse, bool printPage = false)
{
    //...
}

そして、代わりに C# 4.0 のオプションの引数を使用するこのシグネチャは?

public ActionResult DoStuff(MyEnum enumToUse = MyEnum.Alpha, bool printPage = false)
{
    //...
}

2 つのステートメントは機能的に異なっていますか、それとも単なる好みの問題ですか?

4

1 に答える 1

4

同じもの、それは個人的な好みの問題です。キーストロークが少ないので、2番目を使用します。DefaultValueAttributeまた、これにはいくつかのリフレクション ブードゥーが含まれると思います。そのため、パフォーマンスにこだわりがある場合は、C# 4.0 のオプションの引数を好むかもしれません。

于 2011-05-23T21:38:11.323 に答える