пытаюсь разобратся в сабже, но пока безуспешно. предположим есть такая простенькая ДЛЛешка
| Код | using System; namespace test { public interface IPlugin { int Pub(); }
public class Plug:IPlugin { public int Pub() { int a = 5; return a; } } }
|
и программка
| Код | using System.IO; using System.Reflection; using System.Collections;
namespace ConsoleApplication1 {
public interface IPlugin { int Pub(); }
class Class1 { [STAThread] static void Main(string[] args) { FileInfo fi = new FileInfo("test.dll"); string pluginFile = fi.FullName; IPlugin plug; Assembly ass = null; ass = Assembly.LoadFrom(pluginFile); Type obj; obj = ass.GetType("test.Plug"); plug = (IPlugin)Activator.CreateInstance(obj);
} } }
|
Выдает исключение Unhandled Exception: System.InvalidCastException: Specified cast is not valid. чего не так? и как надо? |