Effective C# 学习笔记(十) 用可选参数尽量减少方法重载
2011-07-04 20:30 小郝(Kaibo Hao) 阅读(494) 评论(0) 编辑 收藏 举报先看个例子,创建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. . .");
注意:使用命名参数的会存在一个风险,那就是当改变了某个方法的参数名称时,需重新使用该方法的参数名称,重新编译程序
出处:http://www.cnblogs.com/haokaibo/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。