VB.net: Создание одного из нескольких объектов производного класса в ответ на пользователя - PullRequest
0 голосов
/ 15 октября 2018

Кажется, что на этот вопрос должно быть действительно легко ответить, но я не могу найти никакого очевидного способа сделать это.

У меня есть базовый класс для объекта, и он имеет несколькопроизводные классы, здесь ClassA и Class B. Я хочу взять ввод от пользователя и создать объект типа, определяемого его ответом.

Но я не могу просто поместить оператор Dim в Select Case, потому чтообласть видимости блока немедленно убьет объект.

Мне нужно что-то вроде

Select Case Input Case 1 Dim OutputObject as New ClassA() Case 2 Dim OutputObject as New ClassB() End Select

Я продолжаю чувствовать, что есть какой-то очевидный способ сделать это, в конце концовэто кажется довольно важным для всей идеи полиморфизма, но я не могу думать об этом.

1 Ответ

0 голосов
/ 15 октября 2018

Это называется фабричным методом .Это будет выглядеть примерно так:

Dim OutputObject as BaseClass

Select Case Input
Case 1
    OutputObject = New ClassA()
Case 2
    OutputObject = New ClassB()
End Select

Где вы бы вернули базовый класс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...