Для данного типа, скажем, Apple
, я хочу создать эквивалентный тип, который был бы создан, если бы Apple
автоматически создавался как прокси-сервер типа службы.
Итак, Apple
имеет тип AwesomeWebService.Apple
, но когда Studio генерирует прокси-классы для службы AwesomeWebService
, создаваемый им тип является чем-то локальным для сборки, содержащей прокси.
Это становится чем-то вроде OtherAssembly.AwesomeWebServiceProxyReference.Apple
Хитрость в том, что я не знаю до времени выполнения, какой тип прокси я хочу создать (Apple
или иначе). Это было бы слишком просто.
У меня есть экземпляр клиента справочной службы, скажем, OtherAssembly.AwesomeWebServiceProxyReference.AwesomeWebServiceSoapClient
, но я до сих пор не смог использовать эту информацию вместе с исходным типом для получения прокси-типа, который мне нужен. При попытке получить сообщение об ошибке не удалось найти тип в сборке.
Activator.CreateInstance("OtherAssemblyName", "TypeNameOfOriginalType");
где "OtherAssemblyName" берется из proxyClientType.GetType().Assembly.FullName
, а "TypeNameOfOriginal" - originalType.GetType().Name
Activator.CreateInstance("OtherAssembly", "Apple");