Activator.CreateInstance не может найти конструктор

У меня есть класс поставщика доступа к данным, определенный как: (это только часть класса, относящегося к моему вопросу)

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.

Я хочу создать экземпляр поставщика данных с пустой строкой подключения. Я установлю это дальше в коде.

Посоветуйте, как избавиться от исключения.


person Maxim V. Pavlov    schedule 17.04.2011    source источник


Ответы (1)


Актер частный. По умолчанию Activator.CreateInstance сканирует только общедоступные объекты.

person Rex M    schedule 17.04.2011