🔥 CLR library

clr — это пакет для доступа к типам и пространствам имен .NET Framework. Пакет связывает вызовы с хост-приложением и классами .NET Framework. ВНИМАНИЕ: Работает ТОЛЬКО с включенным "Allow unsafe scripts"

CLR поддерживает:

  • Статические методы

  • Методы экземпляра

  • Перегруженные методы

  • Конструкторы

  • Свойства

  • Типы

  • Подтипы

  • События

  • Генерики

Немного примеров

local sys = clr.System;

Данный код создает динамический экземпляр типа для пространства имен System и присваивает этот новый тип локальной переменной sys. Оба следующих вызова эквивалентны:

local stringbuilder = sys.Text.StringBuilder;
local stringbuilder = clr.System.Text.StringBuilder; -- тот же результат

Используйте эту переменную, для доступа к типу StringBuilder.

Чтобы создать новый объект из типа, вызовите тип как функцию. Это вызовет конструктор и создаст экземпляр.

Если тип является обобщенным, используйте индексный доступ для создания не обобщенного класса.

💡 Совет: Используйте const для часто используемых типов, чтобы улучшить читаемость и производительность кода.

Лучший способ сократить типы — использовать ключевое слово const. Потому что оно не создает накладных расходов во время выполнения, оно известно только во время компиляции. Осторожно, clr не нужен.

Если вы объедините это с явной типизацией, синтаксический анализатор вообще не будет выполнять динамические вызовы, и время выполнения этого скрипта будет таким же, как, например, у метода C#.

Last updated