Asp.net mvc 2 ASP.NET MVC DefaultValue属性与C#可选参数
此ASP.NET MVC2方法签名(使用DefaultValue属性)之间有什么区别:Asp.net mvc 2 ASP.NET MVC DefaultValue属性与C#可选参数,asp.net-mvc-2,c#-4.0,default-value,optional-arguments,Asp.net Mvc 2,C# 4.0,Default Value,Optional Arguments,此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 print
public ActionResult DoStuff([DefaultValue(MyEnum.Alpha)] MyEnum enumToUse, bool printPage = false)
{
//...
}
而这个签名却使用了一个C#4.0可选参数
public ActionResult DoStuff(MyEnum enumToUse = MyEnum.Alpha, bool printPage = false)
{
//...
}
这两种说法在功能上是不同的,还是只是偏好的问题?相同的东西,是个人偏好的问题。我会使用第二个,因为它的按键次数较少。我还认为,
DefaultValueAttribute
将涉及一些反射巫术,因此如果你对性能不满意,你可能更喜欢C#4.0可选参数。同样的东西,这是个人偏好的问题。我会使用第二个,因为它的按键次数较少。此外,我认为DefaultValueAttribute
将涉及一些反射巫术,因此如果您对性能不太了解,您可能更喜欢C#4.0可选参数