Свойство XmlForm.Extension
Возвращает объект Object для доступа к функциям и глобальным переменным, содержащимся в первичном файле кода формы, использующего System.Reflection.
Пространство имен: Microsoft.Office.InfoPath
Сборка: Microsoft.Office.InfoPath (в microsoft.office.infopath.dll)
Синтаксис
'Декларация
Public MustOverride ReadOnly Property Extension As Object
'Применение
Dim instance As XmlForm
Dim value As Object
value = instance.Extension
public abstract Object Extension { get; }
Значение свойства
Объект Object для доступа к функциям и глобальным переменным, содержащимся в первичном файле кода формы, использующего System.Reflection.
Заметки
Объект System.Object, возращенный свойством Extension, обеспечивает использование функций и глобальных переменных, реализованных в файле кода InfoPath. Обычно он используется из настраиваемой области задач, из пользовательского диалогового окна или в преобразовании XSL (XSLT) представления, где может требоваться прямой доступ к функциям и переменным.
Для использования System.Object в настраиваемой области задач сначала необходимо установить ссылку на объект XmlForm с помощью свойства external динамического HTML (DHTML) объекта window DHTML, как показано в этом примере.
[JScript]
objXmlForm = window.external.XmlForm;
Доступ к этому члену имеется только у форм, запускаемых на том же домене, что и открытая в настоящий момент форма, или у форм, которым были присвоены междоменные разрешения.
Доступ к этому типу или члену имеется только из программы, работающей в формах, открытых в Microsoft Office InfoPath 2007.
Пример
В следующем примере свойство 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)
В следующем примере к методу myCustomMethod класса проекта кода формы InfoPath можно обратиться из настраиваемой области задач с помощью свойства Extension.
// 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 из сценария в настраиваемой области задач используйте свойство external DHTML объекта window DHTML.
[JScript]
objXmlForm = window.external.XmlForm;
myString = objXmlForm.Extension.myCustomMethod();
Dim objXmlForm
Dim myString
Set objXmlForm = window.external.XmlForm
myString = objXmlForm.Extension.myCustomMethod()
См. также
Ссылка
Класс XmlForm
Члены XmlForm
Пространство имен Microsoft.Office.InfoPath