Я уверен, что это должно быть довольно распространенная проблема. У меня есть две службы WCF, которые в основном предоставляют стандартный доступ и доступ администратора к одной более крупной службе.
Существует аналогичный метод Foo
для каждого сервиса. Foo
принимает аргумент типа TemplateInfo
, который определен в моем сервисе.
На моем клиенте у меня есть ссылка на Client
и AdminClient
. Client.Foo(TemplateInfo)
ожидает Client.TemplateInfo
, а AdminClient.Foo(TemplateInfo)
ожидает AdminClient.TemplateInfo
. Я знаю, что как только обслуживание достигнуто, Client.TemplateInfo
и AdminClient.TemplateInfo
- это одно и то же.
Я пытаюсь выяснить, как создать экземпляр TemplateInfo и / или привести его к работе с методами как клиента, так и администратора. Для создания этого объекта достаточно кода, поэтому я надеялся не дублировать его для каждого типа.
Типы определены в общих сборках, и я использую «Повторное использование типов» в моем прокси. Но я получаю два разных типа, потому что у меня есть две ссылки на сервис.
Было бы здорово сделать что-то вроде (AdminClient) TemplateInfo, но, возможно, я создам метод клонирования для преобразования типов.