Поделиться через


Свойство 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