Electronic Joint Business

Solution for E-Business

C# 4.0中的可选参数

适用C#版本:4.0+。 可选参数这个概念最早来自于Visual Basic,而后为Ruby等等动态语言所广泛采用。在C# 2.0年代,并没有可选参数这个概念。 这个限制是因为在 C# 中,任何地方都引入面向对象思想,所以尽量使用重载而不是可选参数。 class MsgEcho {   public MsgEcho():this("hi,world")   {   }   public MsgEcho(String name)   {      Console.WriteLine(name);   } } 可选参数(Optional parameters)是C# 4.0的一个新特性,可以为一个方法的参数设置一个默认值。为一个参数设置一个默认值,这个参数就是可选参数,一旦被调用的方法忽略可选参数,就会用默认值代替。 为什么需要开放命名参数和可选参数呢?这是出于动态语言运行时兼容性的要求。动态语言中存在动态绑定的参数列表,有时候并不是所有的参数值都需要指定(有些语言可能没有重载决策);另外,在一些 COM 互操作时,往往 COM Invoke 的方法参数列表非常的长(例如 ExcelApplication.Save,可能需要 12 个参数),但 COM 暴露的参数的实际值往往为 null,只有很少一部分参数需要指定植,如 ExcelApplication.Save(),可能不需要指定任何参数值,或者仅仅一个值,例如 fileType 合 Visual Basic、Visual C++ 或者 Delphi 一样,C# 声明可选参数的方法就是在方法参数声明后面加上参数的默认值: class […]

,

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.