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 :

Equivalent du typedef C++


Sujet :

C#

  1. #1
    Membre confirmé Avatar de BigNic
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 195
    Par défaut Equivalent du typedef C++
    Afin de sipmlifier certaines écritures genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dictionary<objet,Dictionary<bidul,truc>>
    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dictionary<object,BidulTruc>
    J'aurai aimer savoir s'il y a des équivalents du typedef C++ en C#, pour faire si on garde cet exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    typedef Dictionary<bidul,truc> BidulTruc;

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Non, il n'y a pas, mais rien ne t'empêche de créer une classe encapsulant tout cela, avec, au hasard, des méthodes Add et Contains appropriées (par exemple si la clef du Dictionary externe est calculable à partir de la valeur de l'objet du Dictionary interne ).

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public class BidulTruc : Dictionary<bidul, truc>
    {
    }
    et le tour est joué !

  4. #4
    Membre confirmé Avatar de BigNic
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 195
    Par défaut
    Franchement c'est pas super élégant, surtout que c'est pour calmer les ardeurs d'FxCop.
    Mais le pire c'est que cela fonctionne

  5. #5
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par BigNic Voir le message
    Franchement c'est pas super élégant
    Ben, le typedef quand on y pense, c'est pas vraiment élégant non plus.

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Je vois pas trop ce qu'il y a de pas élégant là dedans... c'est simple, c'est pratique, et c'est fonctionnel, donc à mon sens il n'y a rien à y redire...

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Par défaut
    Salut,

    Il me semble qu'en C# tu peux faire un truc de ce genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    using BidulTruc = Dictionary<bidul,truc>;
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    using Dictionary<bidul,truc> = BidulTruc ;
    me souviens plus trop et je ne suis pas sur de moi, a essayer

  8. #8
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    EDIT : poste supprimé, info fausse.

  9. #9
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 547
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Rigoureusement rien à voir : le bloc "using" est une instanciation d'objets "Disposable" (et "disposed" à la fin du bloc).
    Non, non, ca existe bel et bien. =)

    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
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using MyDic = System.Collections.Generic.Dictionary<int, string>;
     
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                MyDic d = new Dictionary<int, string>();
            }
        }
     
     
    }

  10. #10
    Membre émérite
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Rigoureusement rien à voir : le bloc "using" est une instanciation d'objets "Disposable" (et "disposed" à la fin du bloc).
    Mouais bien sur, et le "using System;" que tu trouves ou debut de chaque fichier c'est aussi une histoire de dispose ? Ce mot clée sert à plusieurs choses c'est tout.

    Donc j'ai testé ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    using ListString = System.Collections.Generic.List<string>;
    Et ça fonctionne.

  11. #11
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut


    Je connaissais les using comme racourcis au NS, j'ignorais qu'on pouvait raccourcir un nom de type, avec

  12. #12
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Oui, c'est bien pratique... finalement c'est juste un "alias" quoi

  13. #13
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 547
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Oui, c'est bien pratique... finalement c'est juste un "alias" quoi
    Oui, pour ma part, je ne l'utilise pas (à moins de conflit entre espaces de noms, pour eviter de me taper des type à rallonge), ca ne sert pas à grand chose, intellisense t'economisant deja pas mal de frappe. =)

Discussions similaires

  1. Equivalent de typedef void* en java
    Par safi11 dans le forum Général Java
    Réponses: 1
    Dernier message: 05/04/2013, 17h32
  2. [Kylix] Equivalent ShellExec en CLX
    Par Anonymous dans le forum EDI
    Réponses: 7
    Dernier message: 14/08/2002, 12h55
  3. Equivalent à ExeName pour une DLL
    Par Smortex dans le forum Langage
    Réponses: 7
    Dernier message: 16/07/2002, 22h07
  4. Sortir un typedef d'une classe
    Par Theophil dans le forum C++Builder
    Réponses: 13
    Dernier message: 03/07/2002, 18h21
  5. [Kylix] equivalent winsock avec kylix
    Par Victor dans le forum EDI
    Réponses: 2
    Dernier message: 08/05/2002, 08h43

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