Метод Add добавляет новый .NET-метод в коллекцию и возвращает его параметры.
Для выполнения примера предполагается наличие в репозитории .NET-сборки с идентификатором GLOBAL_NET_METHODS. В глобальном пространстве имён .NET-сборки реализована функция PiDivNet.
Добавьте ссылки на системные сборки: Fore и Metabase.
Sub UserProc;
Var
Mb: IMetabase;
SharedParams: ISharedParamsEx;
Methods: IForeNETMethods;
Method: IForeNETMethod;
Begin
Mb := MetabaseClass.Active;
SharedParams:= Mb.SpecialObject(MetabaseSpecialObject.SharedParams).Edit As ISharedParamsEx;
Methods := SharedParams.NETMethods;
Method := Methods.Add;
Method.Assembly := "GLOBAL_NET_METHODS";
Method.Namespace_ := "GLOBAL_NET_METHODS";
Method.Method := "PiDivNet";
Method.Category := "Мои функции";
Method.Name := "PiDivNet";
Method.Description := "Значение делим на 'Пи'";
Method.ResultType := ForeResultType.Real;
Debug.WriteLine("Ключ метода: " + Method.Key.ToString);
(SharedParams As IMetabaseObject).Save;
End Sub UserProc;
Public Shared Sub Main(Params: StartParams);
Var
Mb: IMetabase;
SharedParams: ISharedParamsEx;
Methods: IForeNETMethods;
Method: IForeNETMethod;
Begin
Mb := Params.Metabase;
SharedParams:= Mb.SpecialObject[MetabaseSpecialObject.msoSharedParams].Edit() As ISharedParamsEx;
Methods := SharedParams.NETMethods;
Method := Methods.Add();
Method.Assembly := "GLOBAL_NET_METHODS";
Method.@Namespace := "GLOBAL_NET_METHODS";
Method.Method := "PiDivNet";
Method.Category := "Мои функции";
Method.Name := "PiDivNet";
Method.Description := "Значение делим на 'Пи'";
Method.ResultType := ForeResultType.frtReal;
System.Diagnostics.Debug.WriteLine("Ключ метода: " + Method.Key.ToString());
(SharedParams As IMetabaseObject).Save();
End Sub;
При выполнении примера в коллекцию пользовательских методов будет добавлена новая .NET-функция «PiDivNet»
См. также: