2010-10-22 5 views
1

Я пишу приложение в Visual Basic 2010 Express.Visual Basic 2010: Как я могу ссылаться на один из многих объектов через дополнительный объект? (Pointer-like поведение?)

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

Вместо того, чтобы писать целую кучу кода, как это:

selected = x 
... 
If selected = x then 
    DriverInstanceX.DoSomething() 
Else If Selected = y then 
    DriverInstanceY.DoSomething() 
Endif 

Я хотел бы сделать это:

Bob = (some reference to X - NOT a copy of X!) 
... 
Bob.DoSomething() 
Bob.DoSomethingElse() 

Я уверен, что это очень легко - я просто не уверен, где искать.

Спасибо за помощь!

ответ

0

«установить объект на основе того, что был выбран первым, здесь ...

Dim selectedDriverInstance = новый DriverObject

» Теперь вы можете запустить метод без проверки для каждого, как выбран уже был установлен. selectedDriverInstance.DoSometng()

Прохладный?

Конечно, DriverObject может быть экземпляром x или экземпляром y в зависимости от того, что вы установили для него, назначить там и установить его на наш объект фиксированного имени, выбранныйDriverInstance. таким образом, вы можете сделать все, используя selectedDriverInstance, поскольку он настроен либо на экземпляр x, либо на экземпляр y уже, заставьте меня?

+0

Отредактировано/обновлено, посмотрите выше. –

+0

ОК, я подозревал, что это сработает, но я не был абсолютно уверен. Мне нужно просто попробовать его, как только моя программа будет достаточно полной, чтобы на самом деле работать функционально. Благодаря! – evilspoons

+0

Ну, я знаю, как это происходит, и если это не работает, не стесняйтесь присылать мне класс, и я его реструктурирую для вас. Если это сработает, не забудьте отметить как принятый ответ :) –