此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)
{
//...
}
这两个陈述在任何功能方面都有所不同,还是只是偏好?
答案 0 :(得分:4)
同样的东西,这是个人喜好的问题。我会使用第二个,因为它的键击次数较少。另外我认为DefaultValueAttribute
会涉及一些反思巫术,所以如果你对性能很苛刻,你可能更喜欢C#4.0可选参数。