C # Сборка приведение к типу не удается - PullRequest
0 голосов
/ 11 ноября 2018

Вот мой пример кода

public interface ICommonInterface
{
    Task<T> SomeMethod<T>(string params) where T : new();
}

public class ExternalAssembly : ICommonInterface
{
   public ExternalAssembly(string params) {...}
   public async Task<T> SomeMethod<T>(string params) where T : new() {...}
}

Итак, я загружаю сборку из другого проекта, который также ссылается на ICommonInterface. У меня есть следующий код, который завершается с ошибкой на последнем шаге

object assemblyInstance;
Assembly assembly;
assembly = Assembly.LoadFile(assemblyFile);
Type type = assembly.GetType("Namespace.ExternalAssembly");
assemblyInstance = Activator.CreateInstance(type, new[] { params });

var myClass = (assemblyInstance as ICommonInterface);

Проблема в том, что myClass равно нулю

Предыдущая версия кода работала без нареканий, вот она (отличался только интерфейс)

public interface ICommonInterface
{
    Task<SomeClass> SomeMethod(string params);
}

public class ExternalAssembly : ICommonInterface
{
   public ExternalAssembly(string params) {...}
   public async Task<SomeClass> SomeMethod(string params) {...}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...