1

我有一个数据访问提供者类定义为:(这只是与我的问题相关的类的一部分)

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。

我想用一个空的连接字符串实例化一个数据提供者。我将在代码中进一步设置。

请告知如何摆脱异常。

4

1 回答 1

2

ctor 是私人的。默认情况下,Activator.CreateInstance 仅扫描公共 ctor。

于 2011-04-17T16:58:18.357 回答