Задача: необходимо подключить пользовательскую библиотеку DLL и использовать ее методы в режиме пользовательских результатов.
Пусть мы имеем пользовательскую библиотеку NET.Framework (библиотеки NET.Core не допустимы к применению). Данная библиотека «NewTest» содержит следующий код:
Код |
---|
using System; using System.Collections.Generic; using System.Text; namespace NewTest { public class Class1 { public int Plus(int XX, int YY) { int SUM = XX * YY; return SUM; } } } |
Метод Plus принимает два числа и возвращает их произведение.
Для того, чтобы использовать возможности данной библиотеки в пользовательских результатах мы можем применить следующий скрипт в Лира 10.
Код |
---|
//подключение внешней библиотеки DLL System.Reflection.Assembly UserAssembly = System.Reflection.Assembly.LoadFrom(@"C:\Users\Yudintsev_e\source\repos\NewTest\bin\Debug\NewTest.dll"); //создание экземпляра пользовательской сборки var type = UserAssembly.GetType("NewTest.Class1"); //получение типа для пользовательского класса object obj = Activator.CreateInstance(type); //создание экземпляра пользовательского класса System.Reflection.MethodInfo method = type.GetMethod("Plus"); //чтение необходимого метода int result = Convert.ToInt32(method.Invoke(obj, new object[] {6,4})); //запуск метода return result; |