Ik ben bezig met een soort mailmerge vanuit ons CRM systeem. Het CRM systeem levert via een webservice per "entiteit" een klasse aan met voor elk veld in de "entiteit" een property. Een entiteit kan een contact, een bedrijf etc zijn. De webservice wordt dynamisch gegeneerd, als een entiteit aangepast wordt veranderd de webservice ook automatisch.
Wat ik nu doe:
- Ik kijk welke velden er gevraag worden.
- Ik haal de gevraagde entiteit op via de webservice.
- Ik haal mbv reflection de gevraagde data uit de properties.
Dit werkt perfect, is geheel dynamisch en "onderhoudsvrij".
Waar ik niet helemaal uitkom is het volgende. Het bovenstaande werkt alleen voor een bepaalde entiteit/klasse. Ik moet namelijk het result als volgt op vragen (pseudocode):
Ik moet expliciet opgeven wat het type is en een cast doen. De oplossing is misschien heel simpel maar hoe kan ik dit dynamisch maken?
Andere vraag, maar zover ben ik nog niet. Het is een console applictie, om de webservice aan te spreken heb ik een proxy klasse moeten genereren, is dit ook dynamisch te maken?
Wat ik nu doe:
- Ik kijk welke velden er gevraag worden.
- Ik haal de gevraagde entiteit op via de webservice.
- Ik haal mbv reflection de gevraagde data uit de properties.
Dit werkt perfect, is geheel dynamisch en "onderhoudsvrij".
Waar ik niet helemaal uitkom is het volgende. Het bovenstaande werkt alleen voor een bepaalde entiteit/klasse. Ik moet namelijk het result als volgt op vragen (pseudocode):
C#:
1
| account results = (account)webservice.getData(guid, EntityType.account) |
Ik moet expliciet opgeven wat het type is en een cast doen. De oplossing is misschien heel simpel maar hoe kan ik dit dynamisch maken?
Andere vraag, maar zover ben ik nog niet. Het is een console applictie, om de webservice aan te spreken heb ik een proxy klasse moeten genereren, is dit ook dynamisch te maken?