IForeNETMethod.Params

Синтаксис

Params: IForeNETMethodParams;

Params: Prognoz.Platform.Interop.ForeNet.IForeNETMethodParams;

Описание

Свойство Params возвращает коллекцию параметров пользовательского .NET-метода.

Комментарии

Список параметров формируется на основании сигнатуры процедуры/функции, которые лежат в основе пользовательского .NET-метода. Если сигнатура может измениться, то для обновления списка параметров выполните метод IBaseMethod.Bind.

Пример

Для выполнения примера предполагается, что в репозитории добавлен пользовательский .NET-метод с параметрами.

Добавьте ссылки на системные сборки: Fore, ForeNet и Metabase.

Sub UserProc;
Var
    Mb: IMetabase;
    SharedParams: ISharedParamsEx;
    Methods: IForeNETMethods;
    Method: IForeNETMethod;
    MethodParams: IForeNETMethodParams;
    Param: IForeNETMethodParam;
    i: Integer;
Begin
    Mb := MetabaseClass.Active;
    SharedParams := Mb.SpecialObject(MetabaseSpecialObject.SharedParams).Bind 
As ISharedParamsEx;
    Methods := SharedParams.NETMethods;
    Method := Methods.Item(0);

    If Not IsNull(Method) Then
        Method.Bind;
        MethodParams := Method.Params;
        Debug.WriteLine(MethodParams.Count.ToString);
        
For i := 0 To MethodParams.Count - 1 Do
            Param := MethodParams.Item(i);
            Debug.Write(
"Параметр: " + Param.Name);
            Debug.WriteLine(
". Тип: " + Param.Type.ToString);
        
End For;
    
End If;
End Sub UserProc;

Imports Prognoz.Platform.Interop.Fore;
Imports Prognoz.Platform.Interop.KeFore;
Imports Prognoz.Platform.Interop.Metabase;

Public Shared Sub Main(Params: StartParams);
Var
    Mb: IMetabase;
    SharedParams: ISharedParamsEx;
    Methods: IForeNETMethods;
    Method: IForeNETMethod;
    MethodParams: IForeNETMethodParams;
    Param: IForeNETMethodParam;
    i: Integer;
Begin
    Mb := Params.Metabase;
    SharedParams := Mb.SpecialObject[MetabaseSpecialObject.msoSharedParams].Bind() 
As ISharedParamsEx;
    Methods := SharedParams.NETMethods;
    Method := Methods.Item[
0];
    
If Method <> Null Then
        Method.Bind();
        MethodParams := Method.Params;
        
For i := 0 To MethodParams.Count - 1 Do
            Param := MethodParams.Item[i];
            System.Diagnostics.Debug.Write(
"Параметр: " + Param.Name);
            System.Diagnostics.Debug.WriteLine(
". Тип: " + Param.Type.ToString());
        
End For;
    
End If;
End Sub;

При выполнении примера будет проинициализирован первый пользовательский .NET-метод. В окно консоли будут выведены наименования и типы всех параметров .NET-метода.

См. также:

IForeNETMethod