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 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 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()