У меня есть приложение ASP.NET MVC.
У меня есть пример класса с именем Example
public class Example
{
public int Id { get; set; }
public string Property1{ get; set; }
public string Property2{ get; set; }
}
У меня также есть метод тестирования - TestingCallFromSeparateConsoleApp, который выполняет некоторые функции и возвращает список.примеров
public List<Example> TestingCallFromSeparateConsoleApp()
{
List<Example> exampleList = new List<Example>();
exampleList.Add(new Example
{
Id = 1,
Property1 = "First",
Property2 = "First",
});
exampleList.Add(new Example
{
Id = 2,
Property1 = "Second",
Property2 = "Second",
});
return exampleList;
}
У меня есть отдельное консольное приложение, которое загружает библиотеку MVC вручную.
Я могу вызвать метод TestingCallFromSeparateConsoleApp, и он возвращает результат в виде объекта типа.
Я пытаюсь привести результат к его правильному типу списка примеров.
asm = Assembly.LoadFrom(assemblyFile);
var smsAppInstance = asm.CreateInstance("EngineeringAssistantMVC.Controllers.TestController", false, BindingFlags.CreateInstance, null, null, null, null);
var ExampleClass = asm.GetType("EngineeringAssistant.Controllers.Example", true);
var ec = ExampleClass.GetType();
Это дает подробные сведения о классе примера, но я все еще не могу понять, как на самом деле создать экземпляр и использовать класс типа«Пример»
В моей консоли Как я в основном говорю:
ExampleClass newExampleClass = new ExampleClass();
Итак, я могу сказать:
var result = smsAppInstance.GetType().GetMethod("TestingCallFromSeparateConsoleApp").Invoke(smsAppInstance, argumentsTopass);
Где результат может быть приведен к List<ExampleClass>
РЕДАКТИРОВАТЬ 1
Я вручную загружаю файл dll, я не хочу добавлять его через ссылки.