Я использую (слегка расширенную версию) следующий код в функции стиля фабричного шаблона:
public class SingleItemNew : CheckoutContext
{
public BookingContext Data { get; set; }
public SingleItemNew(BookingContext data)
{
Data = data;
}
}
public CheckoutContext findContext(BookingContext data)
{
Type contextType = Type.GetType("CheckoutProcesses." + data.Case.ToString());
CheckoutContext output =
Activator.CreateInstance(contextType, BindingFlags.CreateInstance, new[] { data }) as CheckoutContext;
return output;
}
однако при запуске он выдает исключение, не найденное конструктором, и я не могу понять, почему.
Метод data.Case.ToString() возвращает имя класса SingleItemNew, конструктор которого принимает один аргумент.
Кто-нибудь знает, в чем проблема?
Привет, Эд