【发布时间】:2009-06-11 16:06:40
【问题描述】:
我在工厂模式样式函数中使用(稍微扩展的版本)以下代码:
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;
}
但是,它在运行时会抛出一个 constructor not found 异常,我不知道为什么。
data.Case.ToString() 方法返回一个类的名称 SingleItemNew,该类的构造函数采用单个参数。
有人知道问题出在哪里吗?
干杯,埃德
【问题讨论】:
标签: c# .net types activator createinstance