Вот что я пытаюсь сделать:
if (a==true)
{
dbA objectInstance = new dbA();
}
else
{
dbB objectInstance = new dbB();
}
objectInstance.Name = "New name";
Я получаю "имя objectInstance не существует в текущем контексте", я предполагаю, потому что def происходит внутри условного.
Должен быть лучший шаблон для этого - должен ли я иметь dbA и dbB наследовать от того же класса?
Да, dbA
и dbB
потребуется общий базовый класс или интерфейс, и что базовый класс или интерфейс должны иметь свойство Name
как часть своего публичного контракта.
Тогда вы можете сделать это:
SomeBase objectInstance;
if (a==true)
{
objectInstance = new dbA();
}
else
{
objectInstance = new dbB();
}
objectInstance.Name = "New name";
Я считаю, что интерфейс - ваш лучший выбор здесь, если эти типы уже не имеют базового класса.