Создание указателей
О том, как создавать указатели на объекты, статичные классы и делегаты
VoidCore::createObject
int VoidCore::createObject (string $objectName[, mixed $objectGroup = false[, ...$args]]) — создание .NET объекта
Аргумент
Описание
string $objectName
Класс .NET объекта для создания (к примеру, System.Windows.Forms.Form)
mixed $objectGroup = false
Сборка класса (к примеру, System.Windows.Forms)
...$args
Список аргументов для конструктора объекта
По умолчанию сборка создаваемого объекта равна false. Это означает, что VoidCore сам попытается найти подходящую сборку для объекта. Вы так же можете указать собственную сборку
В качестве второго аргумента (сборки объекта) можно передать:
true, null или пустая строка - поиск сборки объекта только в VoidCore и mscorlib
false - поиск сборки объекта "везде, где он вообще может находиться" (c)
не пустая строка будет воспринята как сборка объекта
Изначально поиск сборки объекта происходит в папке с программой (VoidCore.exe
), а затем - в рабочей директории
Если сборка объекта не была найдена автоматически VoidCore попытается использовать в качестве сборки объекта его полное название, обрезанное до последней точки, то есть, к примеру, у класса "System.Windows.Forms.Form" сборка будет "System.Windows.Forms" (от начала до последней точки, перед "Form")
Если сборка не была найдена - VoidCore выдаст ошибку о том, что объект не найден, а так же укажет на то, каким методом он пытался найти сборку объекта
В дальнейшем данная инструкция будет актуальна для всех параметров сборки. Так же учтите, что этот параметр не является обязательным и изначально равен false
Пример:
VoidCore::getClass
int VoidCore::getClass (string $className[, mixed $classGroup = false]) — создание указателя для работы со статичным .NET классом
Аргумент
Описание
string $className
Полное название .NET класса
mixed $classGroup = false
Сборка класса
Пример:
Далее под VoidCore (.NET) объектами и указателями на них так же будут и подразумеваться указатели на статичные классы
VoidCore::createDelegate
int VoidCore::createDelegate (string $type, callable $function) — создание анонимной функции (делегата)
Аргумент
Описание
string $type
Тип делегата (полный .NET класс)
callable $function
PHP коллбэк для выполнения
Пример:
VoidCore::typeof
int VoidCore::typeof (string $objectName[, mixed $objectGroup = false]) — создание экземпляра типа объекта
Аргумент
Описание
string $objectName
Полный .NET класс объекта
mixed $objectGroup = false
Сборка объекта
Пример:
VoidCore::importObject
int VoidCore::importObject (string $data) — импорт объекта в ядро
Аргумент
Описание
string $data
Сериализированные данные ядра
VoidCore::exportObject
string VoidCore::exportObject (int $selector) — экспорт объекта из ядра
Аргумент
Описание
int $selector
Указатель объекта
Примеры для импорта и экспорта объектов:
VoidCore::createThread
int VoidCore::createThread (callable $callback, ...$args) — создание .NET потока для анонимной функции
Аргумент
Описание
callable $callback
PHP коллбэк для выполнения в потоке
...$args
Аргументы коллбэка
Пример:
Last updated
Was this helpful?