XmlForm.Extension 属性

定义

获取一个 Object ,用于使用 System.Reflection 访问窗体的主要表单代码文件中包含的函数和全局变量。

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

属性值

一个 Object ,用于使用 System.Reflection 访问窗体的主要表单代码文件中包含的函数和全局变量。

示例

在下面的代码示例中, Extension 属性用于返回 System.Object ,以调用名为 的 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)

在下面的代码示例中,可以使用 Extension 属性从自定义任务窗格访问名为 myCustomMethod InfoPath 表单代码项目类的方法。

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

若要从自定义任务窗格中的脚本访问myCustomMethod,请使用 DHTML 窗口对象的 DHTML 外部属性。

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

注解

Extension 属性返回的 System.Object 便于使用在 InfoPath 表单的代码文件中实现的函数和全局变量。 通常,可以从自定义任务窗格、自定义对话框,或者在需要直接访问函数和变量的视图的 XSL 转换 (XSLT) 中使用该对象。

若要在自定义任务窗格中使用 System.Object,必须先使用 DHTML XmlForm 对象的动态 HTML (DHTML) external 属性设置一个对 window 对象的引用,如以下示例中所示。

objXmlForm = window.external.XmlForm;

此成员只能由与当前打开的表单在相同域中运行的表单访问,或者由已授予跨域权限的表单访问。

可以通过 Microsoft InfoPath Filler 中打开的表单中运行的代码访问此类型或成员。

适用于