C#现在支持调用者一方使用具名参数(named parameter)。类型中的名称也成为了公有接口的一部分。修改公有参数名称将有可能破坏掉调用者的代码。

public void SetName(string firstName, string lastName)
{
// code ...
} //具名参数调用
SetName(firstName: "ming", lastName: "xing");

这时,如果修改参数名称,虽然程序仍可正常执行,但调用者进行编译时将会出错。

此外,为现有方法添加(设置带默认值的)参数将会在运行时抛出异常。需要调用者重新编译发布。

综上所述,对于程序集的第一次发布,可以随意使用可选参数和具名参数,并任意给出你想提供的重载。而在进行后续发布时,必须为额外的参数创建重载。这样才能保证现有的程序仍能正常运行。此外,在任何后续发布中,都要避免修改参数的名称,因为参数名称现在已经成为公共接口的一部分。

最新文章

  1. iOS之There was an internal API error错误
  2. 使用jQuery解析JSON数据
  3. BIOS MCSDK 2.0 学习笔记(一)
  4. HDFS副本存放策略
  5. 值得使用的Spring Boot
  6. android自定义控件(3)-自定义当前按钮属性
  7. Effective C++ -----条款02:尽量以const, enum, inline替换 #define
  8. iframe高度自适应内容
  9. android获取在res文件下的图片资源
  10. 遍历std::list过程中删除元素后继续遍历过程
  11. ASP.NET MVC请求处理过程
  12. cf A. Jeff and Digits
  13. POJ3623:Best Cow Line, Gold(后缀数组)
  14. loadrunner提高篇-插入检查点与关联函数
  15. MarkDown的用法
  16. OI回忆录?
  17. Maven替换为国内仓库
  18. Vulnerability Scanning
  19. springboot之单元测试
  20. URL地址编码和解码

热门文章

  1. JavaScript原型模式(prototype)
  2. How to Write a Spelling Corrector用java 写拼写检查器 Java实现 以备查验
  3. Activity--弹出底部窗口
  4. 详解 javascript中offsetleft属性的用法(转)
  5. php学习笔记-可变变量
  6. webAPI中使用log4net进行日志记录
  7. 【hibernate-笔记】
  8. python测试模块-pytest介绍
  9. go语言web开发框架_Iris框架讲解(五):MVC包使用
  10. Cogs 1995. Yukari