Freigeben über


XmlForm.Extension-Eigenschaft

Ruft Object mithilfe von System.Reflection für den Zugriff auf die im primären Formularcode eines Formulars enthaltenen Funktionen und globalen Variablen ab.

Namespace:  Microsoft.Office.InfoPath
Assembly:  Microsoft.Office.InfoPath (in Microsoft.Office.InfoPath.dll)

Syntax

'Declaration
Public MustOverride ReadOnly Property Extension As Object
    Get
'Usage
Dim instance As XmlForm
Dim value As Object

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

Eigenschaftswert

Typ: System.Object
Object für den Zugriff auf die im primären Formularcode eines Formulars enthaltenen Funktionen und globalen Variablen mithilfe von System.Reflection.

Hinweise

Das von der Extension-Eigenschaft zurückgegebene System.Object-Objekt erleichtert die Verwendung von Funktionen und globalen Variablen, die in der Codedatei eines InfoPath-Formulars implementiert sind. Normalerweise wird das Objekt von einem benutzerdefinierten Aufgabenbereich oder einem benutzerdefinierten Dialogfeld aus verwendet, oder aber in der XSL-Transform (XSLT) einer Ansicht, wenn direkter Zugriff auf die Funktionen und Variablen erforderlich ist.

Sie müssen zuerst mithilfe der external-Eigenschaft von DHTML (Dynamic HTML) des window-Objekts von DHTML einen Verweis auf das XmlForm-Objekt festlegen, wie in diesem Beispiel gezeigt wird, um das System.Object-Objekt in einem benutzerdefinierten Aufgabenbereich zu verwenden.

objXmlForm = window.external.XmlForm;

Auf dieses Mitglied kann nur mithilfe von Formularen zugegriffen werden, die in der gleichen Domäne wie das derzeit geöffnete Formular ausgeführt werden oder denen domänenübergreifende Berechtigungen zugewiesen wurden.

Auf diesen Typ oder dieses Mitglied kann nur über Code zugegriffen werden, der in Formularen ausgeführt wird, die in Microsoft InfoPath Filler geöffnet wurden.

Beispiele

Im folgenden Codebeispiel wird mithilfe der Extension-Eigenschaft ein System.Object-Objekt zurückgegeben, um die benutzerdefinierte Methode MyMethod aufzurufen.

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)

Im folgenden Codebeispiel kann vom benutzerdefinierten Aufgabenbereich aus mithilfe der Extension-Eigenschaft auf die myCustomMethod-Methode der InfoPath-Formularcode-Projektklasse zugegriffen werden.

// 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

Verwenden Sie für die external-Eigenschaft von DHTML des window-Objekts von DHTML für den Skriptzugriff auf myCustomMethod im benutzerdefinierten Aufgabenbereich.

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

Siehe auch

Referenz

XmlForm Klasse

XmlForm-Member

Microsoft.Office.InfoPath-Namespace