Compartir a través de


XmlForm.Extension (Propiedad)

Obtiene un objeto Object para tener acceso a las funciones y variables globales del archivo de código principal de un formulario mediante System.Reflection.

Espacio de nombres: Microsoft.Office.InfoPath
Ensamblado: Microsoft.Office.InfoPath (en microsoft.office.infopath.dll)

Sintaxis

Public MustOverride ReadOnly Property Extension As Object

Dim instance As XmlForm
Dim value As Object

value = instance.Extension
public abstract Object Extension { get; }

Valor de propiedad

Objeto Object para tener acceso a las funciones y variables globales del archivo de código principal de un formulario mediante System.Reflection.

Comentarios

El objeto System.Object devuelto por la propiedad Extension posibilita el uso de las funciones y variables globales implementadas en el archivo de código de un formulario de InfoPath. Normalmente, se usa desde un panel de tareas personalizado, un cuadro de diálogo personalizado o en la transformación XSL (XSLT) de una vista en que se puede necesitar acceso directo a las funciones y variables.

Para usar el objeto System.Object en un panel de tareas personalizado, primero debe establecer una referencia al objeto XmlForm mediante la propiedad external de HTML dinámico (DHTML) del objeto DHTML window, como se muestra en este ejemplo.

[JScript]
objXmlForm = window.external.XmlForm;

Sólo pueden tener acceso a este miembro los formularios que se ejecuten en el mismo dominio que el formulario abierto actualmente o los formularios a los que se hayan concedido permisos entre dominios.

Se puede tener acceso a este tipo o miembro solamente desde un código ejecutado en formularios abiertos en Microsoft Office InfoPath 2007.

Ejemplo

En el siguiente ejemplo, la propiedad Extension se usa para devolver un objeto System.Object para llamar al método personalizado denominado MyMethod.

object extObj = this.Extension;
extObj.GetType().InvokeMember("MyMethod",
   BindingFlags.InvokeMethod |
   BindingFlags.DeclaredOnly |
   BindingFlags.Public |
   BindingFlags.Instance, null, extObj, null);
Dim extObj As Object extObj = Me.Extension
extObj.GetType().InvokeMember("MyMethod", _
   BindingFlags.InvokeMethod Or _
   BindingFlags.DeclaredOnly Or _
   BindingFlags.Public Or _
   BindingFlags.Instance, Nothing, extObj, Nothing)

En el siguiente ejemplo, se puede tener acceso a un método de la clase de proyectos de código de formulario de InfoPath denominado myCustomMethod desde el panel de tareas personalizado mediante la propiedad Extension:

// Custom method added to the form code project.
public string myCustomMethod()
{
   return "Method value";
}
' Custom method added to the form code project.
Function myCustomMethod() As String
   myCustomMethod = "Method value"
End Function

Para tener acceso a myCustomMethod desde las secuencias de comandos del panel de tareas personalizado, use la propiedad DHTML external del objeto DHTML window.

[JScript]
objXmlForm = window.external.XmlForm;
myString = objXmlForm.Extension.myCustomMethod();
Dim objXmlForm
Dim myString
Set objXmlForm = window.external.XmlForm
myString = objXmlForm.Extension.myCustomMethod()

Vea también

Referencia

XmlForm (Clase)
XmlForm (Miembros)
Microsoft.Office.InfoPath (Espacio de nombres)