thiosyiasar
Messages postés186Date d'inscriptionlundi 11 mars 2002StatutMembreDernière intervention30 novembre 2010
-
22 juil. 2008 à 12:13
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 2014
-
22 juil. 2008 à 14:18
Bonjour
J'ai un petit souci que je n'arrive pas a comprendre.
J'ai une classe statique générique (public static class Service<T> where T : Entity) et une classe Personne qui hérite de Entity.
Dans une méthode de la classe Service.Test(T entity),
il m'est impossible d'effectuer un cast pour effectuer une opération particulière pour certains type.
if (typeof(T).equals(typeof(Personne)))
{
Personne p = (Personne)entity; // provoque une erreur de compilation 'Impossible de convertir T en Personne' alors que Personne hérite obligatoirement de Entity
}
thiosyiasar
Messages postés186Date d'inscriptionlundi 11 mars 2002StatutMembreDernière intervention30 novembre 20103 22 juil. 2008 à 12:41
Merci pour la rapidité de la réponse.
Effectivement cela fonctionne avec 'as'...
En fait c'est une classe générique qui gère la persistance des entités. J'ai besoin pour certains objet d'effectuer des vérifications spécifiques d'ou le besoin de faire un cast.
J'avais la solution de créer un service par entité mais le coté générique permet d'ecrire qu'une classe, et d'y inclure quelques rares cas particuliers suivant le type d'entité.
Par contre, je suis ouvert, si tu as une solutions qui te parait plus propre, ca m'intéresse
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 22 juil. 2008 à 14:18
si pour certains types tu as besoin d'un traitement particulier, je te conseille de les regrouper avec une interface. Tu pourras ainsi les reconnaitre plus facilement.