WEB开发网
开发学院软件开发C语言 C#4.0初探: Optional and named parameters 阅读

C#4.0初探: Optional and named parameters

 2009-03-09 08:19:54 来源:WEB开发网   
核心提示: 可选参数不可用ref,out等修饰符,C#4.0初探: Optional and named parameters(2),如果全部显式指定参数名(paraName:value),参数的顺序可以任意调整,2.内部实现ILDASM反编译一下Test.OptionalAndNamedParams

可选参数不可用ref,out等修饰符。

如果全部显式指定参数名(paraName:value),参数的顺序可以任意调整。

2.内部实现

ILDASM反编译一下Test.OptionalAndNamedParams,代码段为:

.method public hidebysig instance void  OptionalAndNamedParams(int32 a,
                                                               [opt] string b,
                                                               [opt] object c) cil managed
{
  .param [2] = ""
  .param [3] = "http://www.xianfen.net"
  // ...

可选参数前声明为OptionalAttribute特性。这是C#4.0的语法糖。

Test.OptionalAndNamedParams方法等价的代码为:

public void OptionalAndNamedParams(int a,
    [Optional, DefaultParameterValue("")] string b,
    [Optional, DefaultParameterValue("http://www.xianfen.net")] object c)
{
    Console.WriteLine("a:{0}, b:{1}, c:{2}", a, b, c);
}

如果不用DefaultParameterValueAttribute特性设置默认值,则输出为:

C#4.0初探: Optional and named parameters

Tags:初探 Optional and

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接