Salut,
je suis en train (enfin j'essaye plutôt
) de faire une fonction de chargement générique. Ce que je veux obtenir est la chose suivante :
MonType MarVar = Import.Load<MonType>(MonFichier);
La fonction "Load" utilise des "codecs" pour charger convenablement les différents types de variables. Ces codecs possèdent une propriété "Type" indiquant quel type d'objet il est destiné à importer. Donc dans ce cas présent la fonction "Load" va chercher le "codec" destiné à charger les objets de type "MonType" puis retourner un "object" qui sera le resultat de l'importation.
1er problème : y-a-t'il un moyen d'éviter de faire un cast explicite de l'objet retourné ? actuellement je suis obligé de faire ceci pour que cela fonctionne :
MonType MarVar = (MonType)Import.Load<MonType>(MonFichier);
2ème problème : En prenant le même exemple, je dois dans certains cas lier le codec à une interface ou une classe abstraite :
1 2
| MonType1 : MonInterface
MonType2 : MonInterface |
Le codec est ici fait pour charger un objet "MonInterface". Comment dans ce cas tester si "MonType1" est bien un objet hérité de l'interface "MonInterface" afin que la fonction "Load" affecte bien le chargement de cet objet au bon codec ?
Voilà j'espère avoir été clair, c'est pas vraiment facile à expliquer
Partager