.NET 4 可选参数和命名参数

可选参数允许为方法的一些参数提供默认值,并允许仗用者重载类型,因此,即使
只有一个方法,也能处理所有变体。下面是一个例子:
public void CreateUser(string firstname, string lastname,
bool isAdmin, bool isTrial User)
(
)

如果要重载这个方法,并为两个bool对象提供默认值,就很容易得到好几个方法,为使用者填
充这些值,然后调用主方法,以实际创建用户。现在通过可选参数,就可以编写下面的代码:
public void CreateUser(string firstname, string lastname,
bool isAdmin = false, bool isTrialUser = true)
(
) ,
查看这段代码,mtname和lasmame参数没有设置默认值,而o虫h血和、△龃User参数设置
了默认值。使用者现在可以编写如下代码:
myClass.CreateUser("Bill"` "Evjen");
myClass.CreateUser〈"Bill"、 "Evjen"、 trve)`
myC△ ass.CreateUser("Bill"、 "Evjen’'、 true、 fa△ se);
myClass,CreateUser("Bi△ 1"、 "Evjen"` isTrai△ User: fa1se)氵
) 上一个例子使用了命名参数丿这也是在,NET Fmmework的这个版本中唧的一个新功能。命名
参数会潜在地改变编写代码的方式。这个新功能能使代码更容易阅读和理解。例如,看一下systm。Io
名称空间中的F仉,CopyO方法,它一般构建为:
Fi△ e,Copy(e"C:\myTestF± △e.txt"` @"C:\myotherFile.txt"` true)`
在这行代码中,这个简单的方法使用3个参数,但实际传递给CopyO方法的是什么内容?除非
知道这个方法的前前后后,否则仅看一眼该方法,很难判断出该方法会执行何种操作。而通过命名
参数,就可以在提供参数值之前使用代码中的参数名,如下面的示例所示:
Fi1e。Copy〈s°vrceFi△ eName: e"C:\myTestFile.txt"、
destFileName: @"C:\myotherFi△ e.txt"、 oVerWrite: true)氵
现在通过命名参数,就很容易阋读和理解这行代码将执行的操作。使用命名参数对最终的编译
没有影响,命名参数仅用在应用程序的编码中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值