object[] parame = new object[1];
parameters[0] = param1;
ConstructorInfo[] info = type.GetConstructors();
info[0].Invoke(parame);
obj= Activator.CreateInstance(type, parameters);
Это дает мне ошибку, поскольку ctor
не найден, потому что ctor
принимает интерфейс в качестве параметра.Как создать экземпляр класса, который принимает интерфейс в качестве параметра своего конструктора, используя отражение?
Как создать экземпляр этого объекта сейчас?
public Controller(ICustomInterface custom)
{
_custom= custom;
}
Я пытался вызвать CTOR с теми же парами, и он говорит объект этого класса не может быть преобразован в типе интерфейса. Хотя этот класс реализует этот интерфейс.
Каков ваш класс? Параметры –
должны быть объектом класса, который реализует интерфейс. в вашем случае параметр - это просто объект, который является проблемой. – Falaque
Я пробовал с этим. Я передал параметр как объект, реализующий этот интерфейс. Но все же покажите эту ошибку. – Virus