У меня есть следующий интерфейс
public interface IProcess<T> where T : class
{
void Process(string id);
}
У меня есть класс, который зависит от других классов. Поэтому я использую конструктор инъекций как следует
public class ProcessFactory: IProcessFactory
{
public ProcessFactory(IProcess<ProcessSalaryRequest> processSalaryRequest,
IProcess<ProcessLeavesRequest> processLeavesRequest)
{
_processSalaryRequest = processSalaryRequest;
_processLeaveRequest = processLeavesRequest;
}
}
public IProcess GetInstance(string type)//error comes here
{
Type atype;
if (Enum.TryParse(type, out atype))
{
switch (atype)
{
case Type.Type1:
return _processSalaryRequest ;
break;
case Type.Type2:
return _processLeaveRequest ;
break;
}
}
return null;
}
}
Вот использование
IProcess processRequest = _ProcessFactory.GetInstance("Type1");
Но я вижу ошибку ниже,
при использовании универсального типа IProcess требуется аргумент 1 типа
Как исправить тип возвращаемого значения метода GetInstance?