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