Skip to content

Библиотека "cs" (Работа с DLL написанные на C# и JavaScript)

bas1c edited this page Dec 12, 2022 · 5 revisions

В GoScript есть возможность импортировать DLL написанные на Visual C# и на JavaScript

После подключения библиотеки "cs" вам становятся доступны следующие функции:

exec_cs_method(cs_class, cs_class_inst, string, stack) - вызывает C# функцию

import_cs_class(string, string) - получает на вход название DLL и имя класса, возвращает C# класс

get_cs_class_inst(string, string) - получает на вход название DLL и имя класса, возвращает экземпляр C# класса

ez_exec_cs_method(string, string, string, stack) - получает на вход название DLL, имя класса, имя функции и стэк аргументов, возвращает результат выполнения функции

Пример:

Код на C#:

//first.dll
using System;

public class eng {
    public void test(string ok, int ok2) {
        Console.WriteLine(ok);
        Console.Write(ok2);
    }
}

Код на GoScript:

use "std"
use "cs" /* Библиотека для использования DLL */

stack = new_stack()

append("stack", to_string("123"))
append("stack", to_int(32))

//first - название DLL

im = import_cs_class("first", "eng")
ins = get_cs_class_inst("first", "eng")
exec_cs_method(im, ins, "test", stack)

/*Output:
123
32
*/

stop()