Я создал консольное приложение, которое ищет плагины , заканчивающиеся PlugIn.dll.Он загружает сборку DLL и выполняет метод записи для plugInClass в PlugIn.dll.Я создал интерфейс под названием IWrite, который включает метод записи.После выполнения консольного приложения оно выдает ошибку, как указано ниже:
Невозможно привести объект типа 'HPlugIn.plugInClass' к типу 'ConsolePlugIn.IWrite'.
Вот мой код для консольного приложения. [Главное приложение]
using System;
using System.IO;
using System.Reflection;
namespace ConsolePlugIn
{
interface IWrite
{
void write();
}
class Program
{
static void Main(string[] args)
{
foreach (string s in Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory, "*PlugIn.dll"))//getting plugins in base directory
{
Assembly aWrite = Assembly.LoadFrom(s);
Type tWrite = aWrite.GetType("HPlugIn.plugInClass");
IWrite click = (IWrite)Activator.CreateInstance(tWrite);//giving casting error
click.write();
}
}
}
}
Вот мой код для DLL-файла плагина
using System;
namespace HPlugIn
{
interface IWrite
{
void write();
}
public class plugInClass : IWrite
{
public void write()
{
Console.Write("High from plugInClass");
}
}
}
Любая идея дляэто ошибка приведения?Заранее спасибо!