CÓMO: Pasar argumentos opcionales de métodos desde C#



No hay soporte técnico disponible para la versión Beta de este producto. Si desea información acerca de cómo obtener soporte técnico para una versión Beta, consulte la documentación incluida con los archivos del producto o busque en el sitio Web desde el que descargó la versión.

EN ESTA TAREA

Resumen

C# no admite argumentos opcionales de métodos. Sin embargo, puede que en algunas ocasiones utilice componentes creados en un lenguaje que acepta argumentos opcionales, como componentes COM antiguos o componentes creados con Visual Basic .NET. En este artículo se explica cómo sacar el máximo partido de los argumentos opcionales.


Con fines ilustrativos se utiliza el método Navigate2 de SHDocVw.IWebBroswer2. Sólo se necesita el primero de los cinco argumentos de este método; los cuatro restantes son opcionales.


Requisitos

Los elementos siguientes describen el hardware, el software, la infraestructura de red, las capacidades y el conocimiento, y los Service Pack que se necesitan:
  • Microsoft C# .NET

Declarar un objeto de tipo "Missing"

 object m = Type.Missing;

Pasar el objeto "Missing" como un argumento

El método Navigate2 requiere que los argumentos se pasen por referencia. Consulte la documentación del método que está utilizando para determinar si hay que pasar los argumentos por valor o por referencia.
ie.Navigate2(ref url,ref m,ref m,ref m,ref m);

Establecer referencias de proyecto (Opcional)

El ejemplo de código del paso 4 se utiliza para ilustrar esta técnica y no funciona como tal. Si desea probar este código, se necesitan dos pasos adicionales:
  1. Agregue una referencia de proyecto a Shdocvw.dll. Se muestra como Controles de Internet de Microsoft en la sección COM del cuadro de diálogo Agregar referencia.
  2. Escriba lo siguiente delante de la declaración de clase en el código:
    using SHDocVw;

Ejemplo de código completo

   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;
Propiedades

Id. de artículo: 305814 - Última revisión: 3 oct. 2001 - Revisión: 1

Comentarios