All products / Saraff.AxHost.NET
Вызов методов. 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.
[ComVisible(true)]
[Guid("CB73C100-5462-46DC-AFF1-E7B37845568E")]
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)
[ApplicationProcessed]
public int GetSourcesCount() {
// ...
}
Вызов метода (JavaScript) (calling)
_count=AxHost.PerformMethod(AxHost.CreateMethodDescriptor("GetSourcesCount"));
Вызов метода с параметрами. Invoke a method with parameters.
Объявление метода (C#) (a method declaration)
[ApplicationProcessed]
public string GetSourceProductName(int index) {
// ...
}
Вызов метода (JavaScript) (calling)
_method = AxHost.CreateMethodDescriptor("GetSourceProductName");
_method.AddParam(sourceIndex, 1);
_name = AxHost.PerformMethod(_method);