Freigeben über


_XDocument4.Extension Eigenschaft

Definition

Ruft einen Verweis auf das globale Skriptobjekt ab, das die Funktionen und globalen Variablen verfügbar macht, die in der primären Formularcodedatei eines Microsoft InfoPath-Formulars enthalten sind.

public:
 property System::Object ^ Extension { System::Object ^ get(); };
public object Extension { get; }
member this.Extension : obj
Public ReadOnly Property Extension As Object

Eigenschaftswert

Gibt zurück Object.

Implementiert

Beispiele

Im folgenden Beispiel wird die Extension-Eigenschaft über die Microsoft.Office.Interop.InfoPath.ObjectWrapper -Schnittstelle verwendet, um die benutzerdefinierte Methode namens MyMethodaufzurufen. Diese ist bei Verwendung der Extension-Eigenschaft in verwaltetem Code erforderlich:

ObjectWrapper o = (ObjectWrapper)thisApplication.XDocuments[0].<span class="label">Extension</span>;
 o.GetType().InvokeMember("MyMethod",
 BindingFlags.InvokeMethod |
 BindingFlags.DeclaredOnly | 
 BindingFlags.Public |  
 BindingFlags.Instance, null, o, null);

Im folgenden Beispiel kann über den benutzerdefinierten Aufgabenbereich mithilfe der Extension-Eigenschaft auf eine Methode mit dem Namen myCustomMethod der InfoPath-Projektklasse zugegriffen werden:

//Custom method added to the project
public string myCustomMethod()
{
return "Method value";
}

Verwenden Sie für den Zugriff myCustomMethod über den benutzerdefinierten Aufgabenbereich die externe DHTML-Eigenschaft des DHTML-Fensterobjekts :

objXDocument = window.external.XDocument;
myString = objXDocument.<span class="label">Extension</span>.myCustomMethod();

Im folgenden Beispiel wird die Extension-Eigenschaft über die Microsoft.Office.Interop.InfoPath.ObjectWrapper -Schnittstelle verwendet, um die benutzerdefinierte Methode namens MyMethodaufzurufen. Diese ist bei Verwendung der Extension-Eigenschaft in verwaltetem Code erforderlich:

ObjectWrapper o = (ObjectWrapper)thisApplication.XDocuments[0].<span class="label">Extension</span>;
 o.GetType().InvokeMember("MyMethod",
 BindingFlags.InvokeMethod |
 BindingFlags.DeclaredOnly | 
 BindingFlags.Public |  
 BindingFlags.Instance, null, o, null);

Im folgenden Beispiel kann über den benutzerdefinierten Aufgabenbereich mithilfe der Extension-Eigenschaft auf eine Methode mit dem Namen myCustomMethod der InfoPath-Projektklasse zugegriffen werden:

//Custom method added to the project
public string myCustomMethod()
{
return "Method value";
}

Verwenden Sie für den Zugriff myCustomMethod über den benutzerdefinierten Aufgabenbereich die externe DHTML-Eigenschaft des DHTML-Fensterobjekts :

objXDocument = window.external.XDocument;
myString = objXDocument.<span class="label">Extension</span>.myCustomMethod();

Hinweise

Das Extension-Objekt erleichtert die Verwendung von Funktionen und globalen Variablen, die in der Skriptdatei 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.

Wenn Sie das Extension-Objekt in einem benutzerdefinierten Aufgabenbereich verwenden möchten, müssen Sie zuerst einen Verweis auf das XDocument-Objekt mithilfe der external-Eigenschaft von DHTML (Dynamic HTML) des window-Objekts von DHTML festlegen, wie in diesem Beispiel gezeigt wird:

objXDocument = window.external.XDocument;

Gilt für: