Загрузка DLL во время выполнения в C #

Я пытаюсь выяснить, как вы могли бы импортировать и использовать .dll во время выполнения внутри приложения C #. Используя Assembly.LoadFile () мне удалось заставить мою программу загружать dll (эта часть определенно работает, так как я могу получить имя класса с помощью ToString ()), однако я не могу использовать «Output» метод из моего консольного приложения. Я компилирую .dll, а затем перемещаю его в проект моей консоли. Есть ли дополнительный шаг между CreateInstance и возможностью использовать методы?

Это класс в моей DLL:

namespace DLL
{
    using System;

    public class Class1
    {
        public void Output(string s)
        {
            Console.WriteLine(s);
        }
    }
}

и вот приложение, которое я хочу загрузить DLL

namespace ConsoleApplication1
{
    using System;
    using System.Reflection;

    class Program
    {
        static void Main(string[] args)
        {
            var DLL = Assembly.LoadFile(@"C:\visual studio 2012\Projects\ConsoleApplication1\ConsoleApplication1\DLL.dll");

            foreach(Type type in DLL.GetExportedTypes())
            {
                var c = Activator.CreateInstance(type);
                c.Output(@"Hello");
            }

            Console.ReadLine();
        }
    }
}

Ответы на вопрос(6)

Ваш ответ на вопрос