Если у меня есть следующий метод;Получить модель из общей модели
private TSource CopyFileClientModel<TSource>(TSource fileClientOrContact)
Так в этот метод, я могу передать в любой модели FileClient
или FileContact
.
Оба имеют одно свойство Contact
, которое также является моделью, а также некоторыми другими свойствами, не являющимися общими между ними.
Теперь я хочу получить эту модель Contact
из пройденной модели.
Contact sourceContact = fileClientOrContact.Contact;
Однако, учитывая, что это родовое, он не знает, что есть Contact
объект в TSource
.
Мое ограничение заключается в том, что я не могу разместить интерфейс против FileClient
или FileContact
. В принципе я не могу тронуть ни одну из этих моделей.
Как я могу получить контактный объект от TSource
? Могу ли я каким-то образом использовать отражение?
Почему «дженерики»? метод перегрузки, кажется, хорош здесь. – gdoron
@gdoron - договорился – Skyrim
@ gdoron, я думаю, может быть, я пытался переоценить это. если вы положите перегрузку в ответ, я с радостью помету его. – griegs