Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Cast dans une classe générique [ Système / Autre ] (thiosyiasar)

mardi 22 juillet 2008 à 12:13:38 | Cast dans une classe générique

thiosyiasar

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<Personne>.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
}


Vous avez une idée ?

Merci

Nico

mardi 22 juillet 2008 à 12:31:12 | Re : Cast dans une classe générique

SharpMao

Membre Club
Réponse acceptée !
Hello,

Tu peux peut-être essayer avec le mot clef as :

Personne p = entity as Personne;
if (p!= null){
...
}

Par contre, ce genre de chose ne me parait pas forcément génial pour une classe générique.

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)

mardi 22 juillet 2008 à 12:41:52 | Re : Cast dans une classe générique

thiosyiasar

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


Nico

mardi 22 juillet 2008 à 14:18:18 | Re : Cast dans une classe générique

sebmafate

Membre Club Administrateur CodeS-SourceS
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.


Sébastien FERRAND (blog)
Consultant Sénior
[Microsoft Visual C# MVP]



Cette discussion est classé dans : service, classe, cast, générique, entity


Répondre à ce message

Sujets en rapport avec ce message

Cast Objet provenant d'un Web Service [ par Francks11 ] Bonjour,j'utilise un Web Service pour récuperer un objet Personne. Lorsque je le récupère, je n'arrive pas à faire un "cast" vers un objet de type Per Parsing dans un classe générique ??? [ par YOOP ] Bonjour tout le monde,J'ai un soucis concernant une classe générique. (c'est mon premier test avec ce genre de classe).Voici :public class Paramètre   Cast, héritage et surcharge ... [ par LocalStone ] Bonsoir à tous ... Alors voilà ... J'ai une classe Matrix qui possède - entre autre - les propriétés Height et Width, qui correspondent respectivement Problème d'héritage [ par fregolo52 ] Bonjour,Je coince un peu dans mes déclarations.J'ai un objet générique dont dérive mes classe :Cette classe implémente l'interface IXmlSerializablepub Cast générique [ par pcayrol ] Bonjour, Voici mon souci : J'ai une classe Modele qui contient un int* pBuffer. J'ai aussi défini plusieurs structure STRUCT 1, STRUCT 2, etc... J'ins Web Service [ par EmacLi ] Bonjour à tous !!Voila j'ai un petit problème. Je suis en traint de créer un Web Service et j'ai une méthode qui est sensé me retourné l'instance d'un pb installation Service windows [ par streeptrash ] Salut a tous!Voila j'ai créer un service windows en C#. Maintenant je veux l'installer mais j'ai un petit problème. Tout d'abord j'ai ajouter à mon pr Une classe générique [ par kibay ] Salut les gars , je suis sur un projet. Et boulot est de créer un classe (une dll) en Linq pouvant accepter n'importe quel requette et pouvant se conn Exposition de fonction WCF [ par yannfeutry ] Bonjour, J'ai souci sur lequel je bloque : j'ai un service WCF, avec dans l'interface IService les signatures des méthodes et fonctions, et la classe named pipe [ par piwane ] Bonjour a tous,Dans le cadre de la réalisation d'un webService en C#, je cherche a le faire communiquer avec une appli (exe développé en c# également)


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,593 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.