This project has moved and is read-only. For the latest updates, please go here.

Вызов методов. Method Invocation

Для вызова метода необходимо (to call a method, you must):
  • получить дескриптор метода (метод IAxHost.CreateMethodDescriptor) (get a handle method)
  • добавить необходимое количество параметров с указанием их типов (метод IMethodDescriptor.AddParam) (add the required number of parameters with their types)
  • вызвать метод (метод IAxHost.PerformMethod) (call the method)
Вызываемый метод должен быть отмечен атрибутом ApplicationProcessedAttribute (the called method must be marked a ApplicationProcessedAttribute).
Допустимые типы параметров перечислены в ParamType (valid types of parameters listed in a ParamType).

// Типы параметров. Types of parameters.
public enum ParamType {
    Int=1, // Целое число.
    Double=2, // Числос плавающей точкой.
    String=3, // Строка.
    Char=4, // Символ.
    Bool=5, // Булево значение.
    DateTime=6, // Дата/время.
    Unknown=7 // Неизвесный тип.

Вызов метода без параметров. Invoke a method without parameters.

Объявление метода (C#) (a method declaration)
public int GetSourcesCount() {
    // ...

Вызов метода (JavaScript) (calling)

Вызов метода с параметрами. Invoke a method with parameters.

Объявление метода (C#) (a method declaration)
public string GetSourceProductName(int index) {
    // ...

Вызов метода (JavaScript) (calling)
_method = AxHost.CreateMethodDescriptor("GetSourceProductName");
_method.AddParam(sourceIndex, 1);
_name = AxHost.PerformMethod(_method);

download fullsize image

Last edited Sep 7, 2015 at 8:34 PM by SARAFF, version 6