Создание класса из разных .dll с помощью отражения на основе имени класса? - PullRequest
0 голосов
/ 15 апреля 2011

Есть ли способ создать экземпляр класса на основе его имени из другого проекта / .dll без использования dll = Assembly.LoadFile(@"c:\Test.dll"); и сделать dll.CreateInstance(className);

Я хочу иметь возможность загружать другой класс, который реализует общий интерфейс в моем приложении, без необходимости перекомпиляции (что-то вроде плагина). DLL находится в пути приложения.

Ответы [ 2 ]

1 голос
/ 15 апреля 2011

Вам нужно будет знать, с какой сборки загрузить его из , каким-то образом ... тогда вы можете использовать Type.GetType(name), когда переданное вами имя соответствует имени сборки.

0 голосов
/ 15 апреля 2011

Я не думаю, что есть какой-либо способ найти Dll, основанный только на имени класса или интерфейсе, который реализует класс, за исключением простого поиска и открытия каждого Dll в каталоге. Вы можете использовать методы ReflectionOnlyLoad*, чтобы уменьшить накладные расходы при поиске правильной Dll.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...