Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.92/25: Рейтинг темы: голосов - 25, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 23.06.2011
Сообщений: 16
1

Позднее связывание

10.07.2011, 14:02. Просмотров 5022. Ответов 1
Метки нет (Все метки)


Надо написать программу которая в папке Plugins просматривает все dll и вызывает метод Print в классах Plugin.
C#
1
2
3
4
5
6
7
public class Plugin
    {
        public void Print()
        {
            Console.WriteLine("Запущен плагин.");
        }
    }
C#
1
2
3
4
5
6
7
8
9
10
11
12
static void Main(string[] args)
        {
            Assembly assembly = null;
            DirectoryInfo plugins = new DirectoryInfo("Plugins");
            FileInfo[] dllArray = plugins.GetFiles("*.dll");
            foreach (FileInfo item in dllArray)
            {
                string dll = item.FullName;
                assembly = Assembly.LoadFile(dll);
            }
            Console.ReadKey();
        }
Как после загрузки dll
C#
1
assembly = Assembly.LoadFile(dll);
вызвать метод Print(), если он там вообще есть?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.07.2011, 14:02
Ответы с готовыми решениями:

Раннее и позднее связывание
Вы могли бы мне помочь дать определение раннему и позднему связыванию. Только определения, ни...

Позднее связывание и виртуальные методы
Добрый день. Возник вопрос по поводу позднее связывания в c#. В с++ п.с. можно организовать...

Позднее связывание с неуправляемым кодом
Можно ли осуществить позднее связывание с неуправляемым кодом ? Собственно и весь вопрос.

Открытие файла excel позднее связывание
Добрый день всем. Такой вопрос. Делаю по этому тьюториалу -...

__________________
Помогаю в написании студенческих работ здесь.
Записывайтесь на профессиональные курсы С#-разработчиков‌
1
38 / 38 / 8
Регистрация: 29.05.2011
Сообщений: 65
11.07.2011, 14:59 2
Может как-то так

C#
1
2
3
4
5
6
7
8
9
try
 {
   object pl=assembly.GetType().InvokeMember("Plugin", BindingFlags.InvokeMethod, null,assembly, new object[] {});
   pl.GetType().InvokeMember("Print", BindingFlags.InvokeMethod, null, pl, new object[] {});
 }
catch
 {
     //Либо класса "Plugin" либо метода "Print" нет 
 }
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.07.2011, 14:59

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Позднее связывание. Получить конкретное окно приложения
Здравствуйте все:) У меня такая проблема: пишу на c# библиотеку в которой содержится форма. На...

Ошибка при вызове метода (позднее связывание)
Помогите пожалуйста разобраться с ошибкой вызова:

Позднее связывание; Точность знакового вещественного числа
Две проблемы: Используя позднее связывание, как получить из конструктора значение числового...

Можно ли в .Net использовать позднее связывание к generic-классам
Всем привет. Подскажите плиз, можно ли в .Net использовать позднее связывание к generic-классам?...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.