Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Динамическая компиляция и вызов из сборки

70K
14 июня 2011 года
Saimon2k
3 / / 14.06.2011
Доброе время суток.
Хотелось бы реализовать динамическую компиляцию, но столкнулся с проблемой.
Руководствовался этой и этой темами. Суть проблемы вот в чем - при запуске метода из dll не проходит преобразование типа, более того, складывается ощущение, что это совсем другие классы.
Вот так я подгружаю dll и запускаю метод Run
Код:
Assembly assembly = Assembly.LoadFile(fn);
            Type type = assembly.GetType("TestInvoke.Runner");
            MethodInfo method = type.GetMethod("Run");

            ConstructorInfo ctor = type.GetConstructor(Type.EmptyTypes);
            object r = ctor.Invoke(null);

            object[] param = { new Class01() };

            try
            {
                method.Invoke(r, param); // вызов метода с входным параметром
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

 
Код:
class Class0 { ... }
class Class01 : Class0 { ... }


Exception: Невозможно преобразовать объект типа "TestInvoke.Class01" к типу "TestInvoke.Class0".

Вот проектик - http://depositfiles.com/files/0wbgghvr7
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог