Я использую Assembly.GetTypes() для получения всех типов, определенных в библиотеке плагинов (чтобы я мог создавать экземпляры плагина).ReflectionTypeLoadException: Type пытается реализовать недоступный интерфейс
На конкретной библиотеке, способ поднять ReflectionTypeLoadException, говоря:
Type <Type> is attempting to implement an inaccessible interface
погуглить, кажется, так как удельный Тип реализует непубличный интерфейс. И на самом деле это так, но Тип вложен в другой открытый класс, объявленный как закрытый.
Как избежать этого исключения?
....
Made interface public код работает. Можно ли определить это странное поведение, это ошибка (в Assembly.GetTypes())? Это означает, что тип библиотеки не может реализовать защищенный интерфейс!
Это глупо, чтобы дать хозяину трудное время для создания экземпляра типа. Assembly.GetTypes() должен * никогда не быть необходимым. Дайте фабричному классу хорошее имя. – 2010-12-03 22:32:37