先看个例子,创建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. . .");
注意:使用命名参数的会存在一个风险,那就是当改变了某个方法的参数名称时,需重新使用该方法的参数名称,重新编译程序