Я работаю в VB.Net и пытаюсь сделать фрагмент кода более общим.
На самом деле, существует большой оператор Select Case, который строит ProxyServer на основе значения, переданного в параметре (строка).
Select Case _strNteraHL7
Case Constantes.NomPRPMIN306010
strUrl = ObtenirUrl("ProviderDetailsQuery", _strVersion, _strEnvir, True, _blnSimulCAIS, _blnSimulPDS, _blnSimulPDSSIIR, _blnSimulPDSInteg)
objWsHL7 = New wsProviderDetailsQuery.ProviderDetailsQueryClient(objBinding, New EndpointAddress(strUrl))
Case Constantes.NomPRPMIN301010
strUrl = ObtenirUrl("AddProvider", _strVersion, _strEnvir, True, _blnSimulCAIS, _blnSimulPDS, _blnSimulPDSSIIR, _blnSimulPDSInteg)
objWsHL7 = New wsAddProvider.AddProviderClient(objBinding, New EndpointAddress(strUrl))
Объекты типа "wsAddProvider" и "wsProviderDetailsQuery" в предыдущем примере являются ссылками на службы, которые были добавлены через графический интерфейс Visual Studio ...
Что я хочу знать, так это то, что я могу вызывать этот конструктор из определенного пула, содержащего ссылки на службы, аналогично тому, когда я хочу вызвать элемент управления в контейнере элементов управления ...
например:
objWsHL7 = новый wcfServicesContainer ("serviceNameHere", paramArray ())
или что-то подобное, так что я могу удалить все те большие корпуса переключателей, которые повторяют одно и то же 30 раз.
objWsHL7 - объект или тип "объект" при компиляции.
Извините, если я не упомянул достаточно подробностей, не стесняйтесь сообщить мне, если вам нужно больше, я действительно не знаю, какую информацию я должен предоставить для этого.
Edit: я заметил еще один фрагмент кода, который использует аналогичные вызовы, может быть, это поможет понять ...
Опять же, в другом операторе переключения,
objMsgHL7Out = _objWsHL7.ProviderDetailsQuery(_objMsgIn)
objMsgHL7Out - это System.ServiceModel.Channels.Message
_objMsgIn - это System.ServiceModel.Channels.Message
_objWsHL7 - это объект