Я хочу реализовать абстрактную фабрику (с одиночными) и использовать ее в своем коде с конкретными экземплярами TType
и TInterfaceType
, которые должны быть сопоставлены.
Вот мой текущий код:
public abstract class AbstractFactory<TType, TInterfaceType> where TType : new() where TInterfaceType : class
{
private TInterfaceType objectTtype;
public TInterfaceType getInstance()
{
try
{
if (objectTtype == null)
{
objectTtype = new TType();
}
return objectTtype;
}
catch (Exception e)
{
throw e;
}
}
}
Я получаю сообщение об ошибке:
Невозможно неявным образом преобразовать тип TType в TInterfaceType
Как я могу реализовать абстрактный класс с определением метода, используя класс и соответствующий ему интерфейс. Например, я хочу использовать его следующим образом:
ConcreteFactory : AbstractFactory<ConcreteClass, IConcreteClass>