_XDocument2.Extension 属性
获取一个对全局脚本对象的引用,该对象公开表单的主要表单代码文件中所包含的函数和全局变量。
命名空间: Microsoft.Office.Interop.InfoPath.SemiTrust
程序集: Microsoft.Office.Interop.InfoPath.SemiTrust(位于 Microsoft.Office.Interop.InfoPath.SemiTrust.dll 中)
语法
声明
ReadOnly Property Extension As Object
Get
用法
Dim instance As _XDocument2
Dim value As Object
value = instance.Extension
Object Extension { get; }
属性值
实现
备注
Extension 对象便于使用在 InfoPath 表单的脚本文件中实现的函数和全局变量。通常,可以从自定义任务窗格、自定义对话框,或者在需要直接访问函数和变量的视图的 XSL 转换 (XSLT) 中使用该属性。
若要在自定义任务窗格中使用 Extension,必须先使用 DHTML window 对象的动态 HTML (DHTML) external 属性,设置一个对 XDocument 对象的引用:
objXDocument = window.external.XDocument;
重要
此成员只能由与当前打开的表单在相同域中运行的表单访问,或者由已授予跨域权限的表单访问。
示例
在下例中,将在 ObjectWrapper 接口中使用 Extension 属性,以调用 MyMethod 自定义方法。这是在托管代码中使用 Extension 属性所必需的:
ObjectWrapper o = (ObjectWrapper)thisApplication.XDocuments[0].Extension;
o.GetType().InvokeMember("MyMethod",
BindingFlags.InvokeMethod |
BindingFlags.DeclaredOnly |
BindingFlags.Public |
BindingFlags.Instance, null, o, null);
在以下示例中,可以使用 Extension 属性,从自定义任务窗格中访问 InfoPath 项目类的 myCustomMethod 方法:
//Custom method added to the project
public string myCustomMethod()
{
return "Method value";
}
若要从自定义任务窗格访问 myCustomMethod,请使用 DHTML window 对象的 DHTML external 属性:
objXDocument = window.external.XDocument;
myString = objXDocument.Extension.myCustomMethod();