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
'Usage
Dim instance As XmlForm
Dim value As Object

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

Eigenschaftswert

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 oder aber in der XSL-Transformation (XSLT) einer Ansicht verwendet, in der ein direkter Zugriff auf die Funktionen und Variablen erforderlich sein kann.

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.

[JScript]
objXmlForm = window.external.XmlForm;

Auf den Member kann nur über Formulare zugegriffen werden, die in derselben Domäne wie das zurzeit geöffnete Formular ausgeführt werden, oder über Formulare, denen domänenübergreifende Berechtigungen erteilt wurden.

Auf diesen Typ oder diesen Member kann nur über Code zugegriffen werden, der in Formularen ausgeführt wird, die mit Microsoft Office InfoPath 2007 geöffnet wurden.

Beispiel

Im folgenden Beispiel 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 Beispiel 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.

[JScript]
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