我有一个数据访问提供程序类,定义为:(这只是与我的问题相关的类的一部分)
public class OraDbTerminalStorage : OraDbStorage, ITerminalStorage
{
private OraDbTerminalStorage(string connString)
: base(new OraDbBroker(connString))
{
}
}
当我尝试使用Activator.CreateInstance时:
Type storageType = Type.GetType(System.Configuration.ConfigurationManager.AppSettings["StorageType"],true);
var storageToUse = (ITerminalStorage)Activator.CreateInstance(storageType, string.Empty);
我得到{“未找到类型'UZTerminal.Core.Data.OraDbTerminalStorage'的构造函数。”} MissingMethodException。
我想用空连接字符串实例化数据提供程序。我将在代码中进一步设置它。
请告知如何摆脱异常。
答案 0 :(得分:2)
ctor是私人的。默认情况下,Activator.CreateInstance仅扫描公共ctors。