В настоящее время я работаю с API веб-служб Exchange (EWS) и нахожусь в процессе создания адаптера для общих задач, таких как синхронизация электронной почты, а также получение электронной почты на основе идентификаторов.Я знаю, как создать адаптер, но я немного не уверен, как обрабатывать возвращаемые типы.
Например, при выборке элементов по идентификатору с помощью EWS я использую BindToItems(IEnumerable<ItemId> itemIds, Microsoft.Exchange.WebServices.Data.PropertySet propertySet)
, который имеет тип возвращаемого значенияиз IEnumerable<GetItemResponse>
.
Итак, мой вопрос заключается в том, могу ли я создать IExchangeServiceAdapter
и имитировать сигнатуры функций, которые я хочу, или я создаю собственные типы возврата для всего?Это означает, что я хотел бы добавить что-то вроде public IEnumerable<CustomResponseType> BindToItems(IEnumerable<CustomItemIdType> itemIds, PropertySet propertySet)
.
. Это все для того, чтобы я смог протестировать мой сервис и выполнить его макет.
Редактировать
Возможно, лучший вопрос, при создании сервисных адаптеров (или оболочек или фасадов) я должен создать адаптер для всего, включая возвращаемые типы и параметры для только что мне нужно?Так, скажем, когда привязка элементов, как показано выше, и я добавляю в CustomResponseType
только некоторые из многих свойств, которые мне требуются.Это, в свою очередь, потребовало бы от меня создания сопоставления между реальной реализацией (например, GetItemResponse
) и моей адаптированной реализацией CustomResponseType
.
. Есть ли какие-нибудь хорошие примеры C #, которые делают то, чего я пытаюсь достичь?