> Quel est le meilleur moyen pour avoir un enum auquel on peut ajouter des valeurs ? Une classe ou une structure ? ou un enum créé dynamiquement ?
Recherche sur google (ou MSDN) "IEnumerator". Ca devrait t'aider.
Paul Bacelar
Comme l'intérêt d'un enum est de pouvoir faire des vérifications au moment de la compilation, je ne vous pas l'intérêt d'un enum dynamique.
Si c'est jour avoir une liste de valeur autorisé, une simple structure avec un constructeur privé, une méthode statique de gestion (ajout/suppression) des valeurs possibles via une arrayList statique, une méthode statique d'énumération et une méthode statique de vérification d'existence dans la liste. -- Paul Bacelar MVP VC++
"ShadowFil" wrote in message news:
Bonjour,
Quel est le meilleur moyen pour avoir un enum auquel on peut ajouter des valeurs ? Une classe ou une structure ? ou un enum créé dynamiquement ?
Merci pour votre aide.
Comme l'intérêt d'un enum est de pouvoir faire des vérifications au moment
de la compilation, je ne vous pas l'intérêt d'un enum dynamique.
Si c'est jour avoir une liste de valeur autorisé, une simple structure avec
un constructeur privé, une méthode statique de gestion (ajout/suppression)
des valeurs possibles via une arrayList statique, une méthode statique
d'énumération et une méthode statique de vérification d'existence dans la
liste.
--
Paul Bacelar
MVP VC++
"ShadowFil" <ShadowFil@discussions.microsoft.com> wrote in message
news:120AF691-FF53-4AF9-ADA9-B3F91F7044B4@microsoft.com...
Bonjour,
Quel est le meilleur moyen pour avoir un enum auquel on peut ajouter des
valeurs ? Une classe ou une structure ? ou un enum créé dynamiquement ?
Comme l'intérêt d'un enum est de pouvoir faire des vérifications au moment de la compilation, je ne vous pas l'intérêt d'un enum dynamique.
Si c'est jour avoir une liste de valeur autorisé, une simple structure avec un constructeur privé, une méthode statique de gestion (ajout/suppression) des valeurs possibles via une arrayList statique, une méthode statique d'énumération et une méthode statique de vérification d'existence dans la liste. -- Paul Bacelar MVP VC++
"ShadowFil" wrote in message news:
Bonjour,
Quel est le meilleur moyen pour avoir un enum auquel on peut ajouter des valeurs ? Une classe ou une structure ? ou un enum créé dynamiquement ?
Merci pour votre aide.
DVDB
mmmm... C'est vrai qu'un "enum auquel on peut ajouter des valeurs", ça laisse un peu perplexe...
Quelques précisions peut-être?
"Paul Bacelar" a écrit :
Comme l'intérêt d'un enum est de pouvoir faire des vérifications au moment de la compilation, je ne vous pas l'intérêt d'un enum dynamique.
Si c'est jour avoir une liste de valeur autorisé, une simple structure avec un constructeur privé, une méthode statique de gestion (ajout/suppression) des valeurs possibles via une arrayList statique, une méthode statique d'énumération et une méthode statique de vérification d'existence dans la liste. -- Paul Bacelar MVP VC++
"ShadowFil" wrote in message news: > Bonjour, > > Quel est le meilleur moyen pour avoir un enum auquel on peut ajouter des > valeurs ? Une classe ou une structure ? ou un enum créé dynamiquement ? > > Merci pour votre aide.
mmmm... C'est vrai qu'un "enum auquel on peut ajouter des valeurs", ça laisse
un peu perplexe...
Quelques précisions peut-être?
"Paul Bacelar" a écrit :
Comme l'intérêt d'un enum est de pouvoir faire des vérifications au moment
de la compilation, je ne vous pas l'intérêt d'un enum dynamique.
Si c'est jour avoir une liste de valeur autorisé, une simple structure avec
un constructeur privé, une méthode statique de gestion (ajout/suppression)
des valeurs possibles via une arrayList statique, une méthode statique
d'énumération et une méthode statique de vérification d'existence dans la
liste.
--
Paul Bacelar
MVP VC++
"ShadowFil" <ShadowFil@discussions.microsoft.com> wrote in message
news:120AF691-FF53-4AF9-ADA9-B3F91F7044B4@microsoft.com...
> Bonjour,
>
> Quel est le meilleur moyen pour avoir un enum auquel on peut ajouter des
> valeurs ? Une classe ou une structure ? ou un enum créé dynamiquement ?
>
> Merci pour votre aide.
mmmm... C'est vrai qu'un "enum auquel on peut ajouter des valeurs", ça laisse un peu perplexe...
Quelques précisions peut-être?
"Paul Bacelar" a écrit :
Comme l'intérêt d'un enum est de pouvoir faire des vérifications au moment de la compilation, je ne vous pas l'intérêt d'un enum dynamique.
Si c'est jour avoir une liste de valeur autorisé, une simple structure avec un constructeur privé, une méthode statique de gestion (ajout/suppression) des valeurs possibles via une arrayList statique, une méthode statique d'énumération et une méthode statique de vérification d'existence dans la liste. -- Paul Bacelar MVP VC++
"ShadowFil" wrote in message news: > Bonjour, > > Quel est le meilleur moyen pour avoir un enum auquel on peut ajouter des > valeurs ? Une classe ou une structure ? ou un enum créé dynamiquement ? > > Merci pour votre aide.
ShadowFil
Quelques précisions. J'ai une liste de types de données autorisés qui peut être enrichie par l'utilisateur, mais c'est fait ponctuellement et c'est très rare. C'est un peu comme les types de fichiers sous Windows. Ces types, on les connait tous. Un enum permettrait de donner la liste des types de fichiers autorisés, connus. Mais, même si c'est très rare et ponctuel, il peut arriver qu'un utilisateur ait besoin de créer un nouveau type de fichier. Dans ce cas, l'enum prend une valeur autorisée supplémentaire. Dans une utilisation courante de l'application, seuls les types connus sont utilisés.
Donc, c'est bien un enum dont j'ai besoin mais qui évolue de temps en temps. Les types sont stockés dans une table de la base. Au lancement de l'application, touts les types autorisés sont récupérés et pour l'instant, une instance d'une classe TypeDeDonné est créée pour chaque type.
mmmm... C'est vrai qu'un "enum auquel on peut ajouter des valeurs", ça laisse un peu perplexe...
Quelques précisions peut-être?
"Paul Bacelar" a écrit :
> Comme l'intérêt d'un enum est de pouvoir faire des vérifications au moment > de la compilation, je ne vous pas l'intérêt d'un enum dynamique. > > Si c'est jour avoir une liste de valeur autorisé, une simple structure avec > un constructeur privé, une méthode statique de gestion (ajout/suppression) > des valeurs possibles via une arrayList statique, une méthode statique > d'énumération et une méthode statique de vérification d'existence dans la > liste. > -- > Paul Bacelar > MVP VC++ > > "ShadowFil" wrote in message > news: > > Bonjour, > > > > Quel est le meilleur moyen pour avoir un enum auquel on peut ajouter des > > valeurs ? Une classe ou une structure ? ou un enum créé dynamiquement ? > > > > Merci pour votre aide. > > >
Quelques précisions.
J'ai une liste de types de données autorisés qui peut être enrichie par
l'utilisateur, mais c'est fait ponctuellement et c'est très rare. C'est un
peu comme les types de fichiers sous Windows. Ces types, on les connait tous.
Un enum permettrait de donner la liste des types de fichiers autorisés,
connus. Mais, même si c'est très rare et ponctuel, il peut arriver qu'un
utilisateur ait besoin de créer un nouveau type de fichier. Dans ce cas,
l'enum prend une valeur autorisée supplémentaire. Dans une utilisation
courante de l'application, seuls les types connus sont utilisés.
Donc, c'est bien un enum dont j'ai besoin mais qui évolue de temps en temps.
Les types sont stockés dans une table de la base. Au lancement de
l'application, touts les types autorisés sont récupérés et pour l'instant,
une instance d'une classe TypeDeDonné est créée pour chaque type.
mmmm... C'est vrai qu'un "enum auquel on peut ajouter des valeurs", ça laisse
un peu perplexe...
Quelques précisions peut-être?
"Paul Bacelar" a écrit :
> Comme l'intérêt d'un enum est de pouvoir faire des vérifications au moment
> de la compilation, je ne vous pas l'intérêt d'un enum dynamique.
>
> Si c'est jour avoir une liste de valeur autorisé, une simple structure avec
> un constructeur privé, une méthode statique de gestion (ajout/suppression)
> des valeurs possibles via une arrayList statique, une méthode statique
> d'énumération et une méthode statique de vérification d'existence dans la
> liste.
> --
> Paul Bacelar
> MVP VC++
>
> "ShadowFil" <ShadowFil@discussions.microsoft.com> wrote in message
> news:120AF691-FF53-4AF9-ADA9-B3F91F7044B4@microsoft.com...
> > Bonjour,
> >
> > Quel est le meilleur moyen pour avoir un enum auquel on peut ajouter des
> > valeurs ? Une classe ou une structure ? ou un enum créé dynamiquement ?
> >
> > Merci pour votre aide.
>
>
>
Quelques précisions. J'ai une liste de types de données autorisés qui peut être enrichie par l'utilisateur, mais c'est fait ponctuellement et c'est très rare. C'est un peu comme les types de fichiers sous Windows. Ces types, on les connait tous. Un enum permettrait de donner la liste des types de fichiers autorisés, connus. Mais, même si c'est très rare et ponctuel, il peut arriver qu'un utilisateur ait besoin de créer un nouveau type de fichier. Dans ce cas, l'enum prend une valeur autorisée supplémentaire. Dans une utilisation courante de l'application, seuls les types connus sont utilisés.
Donc, c'est bien un enum dont j'ai besoin mais qui évolue de temps en temps. Les types sont stockés dans une table de la base. Au lancement de l'application, touts les types autorisés sont récupérés et pour l'instant, une instance d'une classe TypeDeDonné est créée pour chaque type.
mmmm... C'est vrai qu'un "enum auquel on peut ajouter des valeurs", ça laisse un peu perplexe...
Quelques précisions peut-être?
"Paul Bacelar" a écrit :
> Comme l'intérêt d'un enum est de pouvoir faire des vérifications au moment > de la compilation, je ne vous pas l'intérêt d'un enum dynamique. > > Si c'est jour avoir une liste de valeur autorisé, une simple structure avec > un constructeur privé, une méthode statique de gestion (ajout/suppression) > des valeurs possibles via une arrayList statique, une méthode statique > d'énumération et une méthode statique de vérification d'existence dans la > liste. > -- > Paul Bacelar > MVP VC++ > > "ShadowFil" wrote in message > news: > > Bonjour, > > > > Quel est le meilleur moyen pour avoir un enum auquel on peut ajouter des > > valeurs ? Une classe ou une structure ? ou un enum créé dynamiquement ? > > > > Merci pour votre aide. > > >
Paul Bacelar
Si vous ne voulez pas utiliser l'artillerie lourde (très très lourde) à base de compilation de code dynamiques, chargement et déchargement d'AppDomain, etc...; il est plus simple de prendre une approche utilisant un singleton contenant la liste des valeurs possible et d'utiliser une méthode du singleton pour valider le paramètre passé à la méthode.
Je pense que nous avons une vue trop parcellaire pour avoir des conseils pertinents, car l'intérêt de l'enum est une vérification à la compilation, donc non dynamique.
Pouvez-vous nous donner une vue plus générale de votre problème, car on ne vois pas de solution sans sortir du cadre. -- Paul Bacelar MVP VC++
"ShadowFil" wrote in message news:
Quelques précisions. J'ai une liste de types de données autorisés qui peut être enrichie par l'utilisateur, mais c'est fait ponctuellement et c'est très rare. C'est un peu comme les types de fichiers sous Windows. Ces types, on les connait tous. Un enum permettrait de donner la liste des types de fichiers autorisés, connus. Mais, même si c'est très rare et ponctuel, il peut arriver qu'un utilisateur ait besoin de créer un nouveau type de fichier. Dans ce cas, l'enum prend une valeur autorisée supplémentaire. Dans une utilisation courante de l'application, seuls les types connus sont utilisés.
Donc, c'est bien un enum dont j'ai besoin mais qui évolue de temps en temps. Les types sont stockés dans une table de la base. Au lancement de l'application, touts les types autorisés sont récupérés et pour l'instant, une instance d'une classe TypeDeDonné est créée pour chaque type.
mmmm... C'est vrai qu'un "enum auquel on peut ajouter des valeurs", ça laisse un peu perplexe...
Quelques précisions peut-être?
"Paul Bacelar" a écrit :
> Comme l'intérêt d'un enum est de pouvoir faire des vérifications au > moment > de la compilation, je ne vous pas l'intérêt d'un enum dynamique. > > Si c'est jour avoir une liste de valeur autorisé, une simple structure > avec > un constructeur privé, une méthode statique de gestion > (ajout/suppression) > des valeurs possibles via une arrayList statique, une méthode statique > d'énumération et une méthode statique de vérification d'existence dans > la > liste. > -- > Paul Bacelar > MVP VC++ > > "ShadowFil" wrote in message > news: > > Bonjour, > > > > Quel est le meilleur moyen pour avoir un enum auquel on peut ajouter > > des > > valeurs ? Une classe ou une structure ? ou un enum créé dynamiquement > > ? > > > > Merci pour votre aide. > > >
Si vous ne voulez pas utiliser l'artillerie lourde (très très lourde) à base
de compilation de code dynamiques, chargement et déchargement d'AppDomain,
etc...; il est plus simple de prendre une approche utilisant un singleton
contenant la liste des valeurs possible et d'utiliser une méthode du
singleton pour valider le paramètre passé à la méthode.
Je pense que nous avons une vue trop parcellaire pour avoir des conseils
pertinents, car l'intérêt de l'enum est une vérification à la compilation,
donc non dynamique.
Pouvez-vous nous donner une vue plus générale de votre problème, car on ne
vois pas de solution sans sortir du cadre.
--
Paul Bacelar
MVP VC++
"ShadowFil" <ShadowFil@discussions.microsoft.com> wrote in message
news:CE465A59-203A-4275-98E4-076E25C9629E@microsoft.com...
Quelques précisions.
J'ai une liste de types de données autorisés qui peut être enrichie par
l'utilisateur, mais c'est fait ponctuellement et c'est très rare. C'est un
peu comme les types de fichiers sous Windows. Ces types, on les connait
tous.
Un enum permettrait de donner la liste des types de fichiers autorisés,
connus. Mais, même si c'est très rare et ponctuel, il peut arriver qu'un
utilisateur ait besoin de créer un nouveau type de fichier. Dans ce cas,
l'enum prend une valeur autorisée supplémentaire. Dans une utilisation
courante de l'application, seuls les types connus sont utilisés.
Donc, c'est bien un enum dont j'ai besoin mais qui évolue de temps en
temps.
Les types sont stockés dans une table de la base. Au lancement de
l'application, touts les types autorisés sont récupérés et pour l'instant,
une instance d'une classe TypeDeDonné est créée pour chaque type.
mmmm... C'est vrai qu'un "enum auquel on peut ajouter des valeurs", ça
laisse
un peu perplexe...
Quelques précisions peut-être?
"Paul Bacelar" a écrit :
> Comme l'intérêt d'un enum est de pouvoir faire des vérifications au
> moment
> de la compilation, je ne vous pas l'intérêt d'un enum dynamique.
>
> Si c'est jour avoir une liste de valeur autorisé, une simple structure
> avec
> un constructeur privé, une méthode statique de gestion
> (ajout/suppression)
> des valeurs possibles via une arrayList statique, une méthode statique
> d'énumération et une méthode statique de vérification d'existence dans
> la
> liste.
> --
> Paul Bacelar
> MVP VC++
>
> "ShadowFil" <ShadowFil@discussions.microsoft.com> wrote in message
> news:120AF691-FF53-4AF9-ADA9-B3F91F7044B4@microsoft.com...
> > Bonjour,
> >
> > Quel est le meilleur moyen pour avoir un enum auquel on peut ajouter
> > des
> > valeurs ? Une classe ou une structure ? ou un enum créé dynamiquement
> > ?
> >
> > Merci pour votre aide.
>
>
>
Si vous ne voulez pas utiliser l'artillerie lourde (très très lourde) à base de compilation de code dynamiques, chargement et déchargement d'AppDomain, etc...; il est plus simple de prendre une approche utilisant un singleton contenant la liste des valeurs possible et d'utiliser une méthode du singleton pour valider le paramètre passé à la méthode.
Je pense que nous avons une vue trop parcellaire pour avoir des conseils pertinents, car l'intérêt de l'enum est une vérification à la compilation, donc non dynamique.
Pouvez-vous nous donner une vue plus générale de votre problème, car on ne vois pas de solution sans sortir du cadre. -- Paul Bacelar MVP VC++
"ShadowFil" wrote in message news:
Quelques précisions. J'ai une liste de types de données autorisés qui peut être enrichie par l'utilisateur, mais c'est fait ponctuellement et c'est très rare. C'est un peu comme les types de fichiers sous Windows. Ces types, on les connait tous. Un enum permettrait de donner la liste des types de fichiers autorisés, connus. Mais, même si c'est très rare et ponctuel, il peut arriver qu'un utilisateur ait besoin de créer un nouveau type de fichier. Dans ce cas, l'enum prend une valeur autorisée supplémentaire. Dans une utilisation courante de l'application, seuls les types connus sont utilisés.
Donc, c'est bien un enum dont j'ai besoin mais qui évolue de temps en temps. Les types sont stockés dans une table de la base. Au lancement de l'application, touts les types autorisés sont récupérés et pour l'instant, une instance d'une classe TypeDeDonné est créée pour chaque type.
mmmm... C'est vrai qu'un "enum auquel on peut ajouter des valeurs", ça laisse un peu perplexe...
Quelques précisions peut-être?
"Paul Bacelar" a écrit :
> Comme l'intérêt d'un enum est de pouvoir faire des vérifications au > moment > de la compilation, je ne vous pas l'intérêt d'un enum dynamique. > > Si c'est jour avoir une liste de valeur autorisé, une simple structure > avec > un constructeur privé, une méthode statique de gestion > (ajout/suppression) > des valeurs possibles via une arrayList statique, une méthode statique > d'énumération et une méthode statique de vérification d'existence dans > la > liste. > -- > Paul Bacelar > MVP VC++ > > "ShadowFil" wrote in message > news: > > Bonjour, > > > > Quel est le meilleur moyen pour avoir un enum auquel on peut ajouter > > des > > valeurs ? Une classe ou une structure ? ou un enum créé dynamiquement > > ? > > > > Merci pour votre aide. > > >