Задача: необходимо подключить пользовательскую библиотеку 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; |