问题描述
||
此ASP.NET MVC2方法签名使用DefaultValue属性之间有什么区别:
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会涉及一些反射伏都教,因此,如果您对性能有所了解,则可能更喜欢C#4.0可选参数。