这个使用 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)
{
//...
}
这两个语句在任何功能上是否不同,还是只是偏好问题?