从 C# 传递可选方法参数

HOW TO:从 C# 传递可选方法参数

文章编号 : 305814
最后修改 : 2001年10月25日
修订 : 1.0
本文的发布号曾为 CHS305814

概要

C# 不支持可选方法参数。不过,有时您可能会使用以一种支持可选参数的语言创建的组件,如旧版 COM 组件或用 Visual Basic .NET 创建的组件。本文讲述如何利用可选参数。

在演示中,我们使用了 SHDocVw.IWebBroswer2 Navigate2 方法。此方法的五个参数中只有第一个是必需的;其余四个为可选参数。

回到顶端

要求

下面各项讲述了推荐使用的硬件、软件、网络架构、技能、知识,以及所需的服务包:
Microsoft C# .NET

回到顶端

声明"Missing"类型的对象

 object m = Type.Missing;

回到顶端

将"Missing"对象作为参数传递

Navigate2 方法要求通过引用传递参数。请检查您在使用的方法的有关文档,以确定参数是通过值还是通过引用来传递。
ie.Navigate2(ref url,ref m,ref m,ref m,ref m);

回到顶端

设置项目引用(可选)

步骤 4 中的代码示例用来演示此技巧,而不是实际的运行方式。如果您想尝试运行此代码,还需要另外两个步骤:
1. 将一个项目引用添加到 Shdocvw.dll。它在添加引用对话框的 COM 部分作为 Microsoft Internet Controls 列出。
2. 在代码中的类声明之前放置下面的代码:
using SHDocVw;

回到顶端

完成代码示例

   object m = Type.Missing;
object url = "http://www.microsoft.com";
InternetExplorer ie = new InternetExplorer();
ie.Navigate2(ref url,ref m,ref m,ref m,ref m);
ie.Visible = true;

回到顶端


这篇文章中的信息适用于:
Microsoft Visual C# .NET 2002 标准版

回到顶端

关键字: 
kbhowto kbhowtomaster kbprod2web KB305814

回到顶端

Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。
posted @ 2008-03-15 14:53  Max Woods  阅读(1378)  评论(0编辑  收藏  举报