Мне нужно использовать некоторые методы, которые во внешней dll, я уже сделал что-то подобное, но на этот раз внешняя dll - это интерфейс.Как использовать интерфейс внешней dll в C#
я так:
Assembly Assembly = Assembly.LoadFrom("fullpathofdll");
Type Type = Assembly.GetType("mytype");
dynamic Instance = Activator.CreateInstance(Type);
Но я получил эту ошибку: Не удается создать экземпляр интерфейса
Я понимаю, что это невозможно instaciate интерфейс, но я не знаю, как сделайте это, чтобы работать.
Кому-то может помочь?
Создать экземпляр конкретного класса, который реализует этот интерфейс вместо этого? –
Inteface - это всего лишь кодовый контракт. Вам нужно создать экземпляр класса, который реализует интерфейс. И вы, конечно, можете найти много классов в dll, которые реализуют этот интерфейс. Все эти классы могут иметь разные реализации, и вы получаете разные результаты одного и того же метода. – Reniuz
ЕСЛИ у вас нет конкретного класса, тогда у вас нет реализации, не поддерживает ли DLL какие-либо типы, реализующие интерфейс? Если нет, то у вас просто есть контракт и нет реализации, поэтому вы сами напишите. –