IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Conversion de generics Java en C#


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 34
    Par défaut Conversion de generics Java en C#
    Bonsoir,
    Après de nombreuses tentatives infructueuses pour essayer de coder l'équivalent du constructeur Java suivant en constructeur C#. Je me demande si une bonne âme de passage ne pourrait pas me donner au mieux la solution, sinon une piste.
    Merci...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public class Key<T>  
    {
    	protected String kindClassName;	
    	protected Key<?> parent;	
    	protected String name;
     
    	public Key(Key<?> parent, Class<? extends T> kind, String name)
    	{
    		this.parent = parent;
    		this.kindClassName = kind.getName();
    		this.name = name;
    	}
    }

  2. #2
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Le paramètre de type ? indique que le type est quelconque je suppose ? Auquel cas en .Net ça n'existe pas et le code ne peut donc pas être transposé directement.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 34
    Par défaut
    Bonjour et merci pour la réponse,
    J’avais compris que ce n’était pas transposable directement, c’est pour cela que j’ai essayé en utilisant l’héritage ou une interface. Mais je n’ai rien trouvé de satisfaisant (il faut que la déclaration reste Key<T>). J’aurais aimé avoir un constructeur, mais vu que ça ne semble pas possible j’ai tenté avec la méthode statique suivante.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    public class Key<T>
    {
        protected string name;
        protected Object parent; // Pas beau mais je n’ai pas trouvé mieux;
     
      public Key(String name)
      {
        this.name = name;
      }
     
      public static Key<T> MakeKeyWithParent<U>(U u, String name) where U : Key<U>
      {
        Key<T> k = new Key<T>();
        k.name = name;
        parent = u;
        return k;
      }
    }
    Mais le code suivant me renvoie une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Key<String> k = Key<String>.MakeKeyWithParent<Key<TextBox>>(new Key<TextBox>("test"), "Coucou");
    Le type Key<System.Windows.Forms.TextBox>' ne peut pas être utilisé comme paramètre de type 'U' dans le type ou la méthode générique 'Key<T>.MakeKeyWithParent<U>(U, string)'. Il n'y a pas de conversion de référence implicite de ' Key<System.Windows.Forms.TextBox>' en 'Key<System.Windows.Forms.TextBox>>'.
    Et là, je n’ai plus d’idée. Si quelqu’un possède la solution je suis preneur. Et si en plus il voit une astuce pour changer en Key le membre "Parent" au lieu d’Objet, il me comblera d’aise…
    Merci…

  4. #4
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Qu'est ce que concrètement tu cherches à modéliser?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 34
    Par défaut
    Je cherche à créer en C# une classe Key venant d'Objectify (en Java à l'origine). Cela concerne des clefs qui identifient des enregistrements dans une base de données BigTable. La clef d'un enregistrement peut avoir un parent qui est la clef d'un autre enregistrement. Les enregistrements sont de type quelconque, d'où l'usage des génériques.

  6. #6
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Par défaut
    Si ton parent est quelconque, pourquoi ne pas dire que c'est de type Object ?

    Sinon doit signifier que ton type inconnu doit hériter de T ? Donc si on recoupe, c'est de type quelconque mais héritant de T ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JNI]Conversion de chemin java->C++
    Par seiryujay dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 23/03/2011, 08h45
  2. Conversion WCHAR* en java
    Par pprroojjeett dans le forum Langage
    Réponses: 1
    Dernier message: 17/03/2008, 17h00
  3. Conversion de Generic.List en Tableau
    Par NicoNGRI dans le forum VB.NET
    Réponses: 2
    Dernier message: 25/09/2007, 10h10
  4. Stéréotype List et generics java
    Par ptit-lu dans le forum BOUML
    Réponses: 4
    Dernier message: 30/07/2007, 10h11
  5. Conversion CCSID en java
    Par sniper91 dans le forum DB2
    Réponses: 2
    Dernier message: 20/06/2006, 13h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo