zoukankan      html  css  js  c++  java
  • Effective C# 学习笔记(十) 用可选参数尽量减少方法重载

    先看个例子,创建word文档,并在其中写一行话

    var wasted = Type.Missing;

    var wordApp = new

    Microsoft.Office.Interop.Word.Application();

    wordApp.Visible = true;

    Documents docs = wordApp.Documents;

    //这个方法传了四个参数,但都不是开发人员想传的,能不能在需要时再传有用的参数,而不必每次都补空值呢?

    Document doc = docs.Add(ref wasted,

    ref wasted, ref wasted, ref wasted);

    Range range = doc.Range(0, 0);

    range.InsertAfter("Testing, testing, testing. . .");

     

    下面这个代码就展现了可选参数的作用

     

    var wordApp = new

    Microsoft.Office.Interop.Word.Application();

    wordApp.Visible = true;

    Documents docs = wordApp.Documents;

    //简介很多吧? :)

    Document doc = docs.Add();

    Range range = doc.Range(0, 0);

    range.InsertAfter("Testing, testing, testing. . .");

     

    要想独立地定义些参数,而不想给其他参数都付空值可以利用C#的命名参数的新特性

    var wordApp = new

    Microsoft.Office.Interop.Word.Application();

    wordApp.Visible = true;

    Documents docs = wordApp.Documents;

    object docType = WdNewDocumentType.wdNewWebPage;

    //使用了命名参数 DocumentType,这样的可读性也很好,你知道 docType参数到底是传给谁了

    Document doc = docs.Add(DocumentType : ref docType);

    Range range = doc.Range(0, 0);

    range.InsertAfter("Testing, testing, testing. . .");

     

    注意:使用命名参数的会存在一个风险,那就是当改变了某个方法的参数名称时,需重新使用该方法的参数名称,重新编译程序

  • 相关阅读:
    《RESTful Web Services》第一章 使用统一接口
    selenium测试(Java)--元素操作(五)
    selenium测试(Java)--浏览器控制(四)
    Struts2 基础典型应用
    Fitnesse 访问日志配置
    selenium定位方法(java实例)(二)
    selenium测试环境搭建(一)
    java web 学习-网络资源
    eclipse + tomcat 开发环境配置
    HTTP客户端代码片段
  • 原文地址:https://www.cnblogs.com/haokaibo/p/2097713.html
Copyright © 2011-2022 走看看