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 :

class générique et custom Dictionary


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
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 15
    Par défaut class générique et custom Dictionary
    Bonjour,

    J'aimerais pouvoir stocker des paramètres dans un dictionnaire et savoir si une valeur a été modfiée.
    Comme je suis nouveau avec .net j'ai cherché a faire un truc avec des generiques :

    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
     
    class MyGeneric<T>
      {
        public T Value { get; set; }
        public T OldValue { get; set; }
        public T IsModified { get; set; }
      }
     
      class MyDictionary<T1, T2> : Dictionary<T1, MyGeneric<T2>>
      {
        public new void Add(T1 key, T2 val)
        {
          base.Add(key, new MyGeneric<T2>());
        }
      }
    Et j'aimerais l'appeler comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    MyDictionary<string, string> _parameters = new MyDictionary<string, string>()
     
    bool bModified = false;
    _parameters.Add("myparam1", "foo");
    bModified  = _parameters.IsModfied("myparam1"); //SHOULD return false
    _parameters.Add("myparam1", "bar");
    bModified  = _parameters.IsModfied("myparam1"); //SHOULD return true
    string sValue = _parameters.GetOldValue("myparam1"); //SHOULD return foo
    Est ce que c'est possible et si non que me suggérez vous ?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    177
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 177
    Par défaut
    Bien sur que c'est possible, mais il faut que tu remplisses le getter de IsModified (qui d'ailleurs, à mon avis, ne doit pas être un T) de ta classe MyGenerique et un constructeur qui t'initialise tes variables.

    Par exemple :
    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
    class MyGeneric<T>
      {
        public T Value { get; set; }
        public T OldValue { get; set; }
        public T IsModified { 
    		get{ 
    		return (this.Value != this.OldValue);
    		}
    	}
     
    	public MyGenerique(T obj){
    		this.Value = T ;
    		this.OldValue = T ;
    	}
      }

Discussions similaires

  1. class dialog : plusieurs custom dialog personnalisé
    Par fongus dans le forum wxWidgets
    Réponses: 2
    Dernier message: 31/10/2006, 19h24
  2. Réponses: 3
    Dernier message: 05/10/2006, 17h15
  3. [C# 2.0] Un exemple de classe générique qui ne compile pas.
    Par Pierre8r dans le forum Windows Forms
    Réponses: 4
    Dernier message: 31/05/2006, 11h11
  4. [C#][ADO] Classe Générique ADO
    Par tscoops dans le forum Accès aux données
    Réponses: 2
    Dernier message: 15/11/2005, 14h21
  5. [Generics] Classe générique
    Par norkius dans le forum Langage
    Réponses: 4
    Dernier message: 29/10/2004, 15h57

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