Я загружаю сборку .NET динамически через отражение и получаю все содержащиеся в ней классы (на данный момент один). После этого я пытаюсь привести класс к интерфейсу, который, я уверен, реализует класс на 100%, но я получаю следующее исключение: Невозможно привести объект типа System.RuntimeType к типу MyInterface
MyDLL.dll
public interface MyInterface
{
void MyMethod();
}
MyOtherDLL.dll
public class MyClass : MyInterface
{
public void MyMethod()
{
...
}
}
public class MyLoader
{
Assembly myAssembly = Assembly.LoadFile("MyDLL.dll");
IEnumerable<Type> types = extension.GetTypes().Where(x => x.IsClass);
foreach (Type type in types)
{
((MyInterface)type).MyMethod();
}
}
Я удалил весь код, который не нужен. Это в основном то, что я делаю. Я видел в этом вопросе, на который Энди ответил с проблемой, которая кажется моей, но я все равно не могу ее исправить.