В чем разница между этой подписью метода 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)
{
//...
}
Отличаются ли эти два утверждения каким-либо функциональным образом или это просто вопрос предпочтений?