plut=F4t nouveau en c#, j'ai par contre pas mal d'exp=E9rience=20
en Java, voici mon probl=E8me :
j'ai une interface en java qui d=E9clare plusieurs=20
constantes,
public interface toto {
static const int tata =3D 10;
static const int titi =3D 20;
// etc...
}
D'apr=E8s ce que j'ai lu, l'enum permet avec de nombreux=20
avantages de d=E9clarer ces constantes, par contre, je ne=20
veux pas les d=E9clarer dans une classe (pour ne pas les=20
attacher =E0 une impl=E9mentation), c'est possible ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Paul Bacelar
l'enum permet de regrouper des valeurs liée comme les différentes valeurs possible d'un paramètre d'une méthode.
enum permet de faire une vérification de type à la compilation.
l'enum est donc beaucoup plus strict que la déclaration d'une simple constante.
Votre approche avec les constantes est viable en C# mais définir une constante dans une classe n'a aucun rapport avec une implémentation, vous pouvez les définir dans une interface sans implémentation ou dans une class abstraite non instanciable. Vous pouvez même les définir dans un namespace sans class, c'est un choix de conception, pas d'implémentation. -- Paul Bacelar
"patrice" wrote in message news:34e201c4b0db$b1090020$ Bonjour à tous,
plutôt nouveau en c#, j'ai par contre pas mal d'expérience en Java, voici mon problème :
j'ai une interface en java qui déclare plusieurs constantes,
public interface toto {
static const int tata = 10; static const int titi = 20;
// etc...
}
D'après ce que j'ai lu, l'enum permet avec de nombreux avantages de déclarer ces constantes, par contre, je ne veux pas les déclarer dans une classe (pour ne pas les attacher à une implémentation), c'est possible ?
Merci d'avance !
patrice
l'enum permet de regrouper des valeurs liée comme les différentes valeurs
possible d'un paramètre d'une méthode.
enum permet de faire une vérification de type à la compilation.
l'enum est donc beaucoup plus strict que la déclaration d'une simple
constante.
Votre approche avec les constantes est viable en C# mais définir une
constante dans une classe n'a aucun rapport avec une implémentation, vous
pouvez les définir dans une interface sans implémentation ou dans une class
abstraite non instanciable. Vous pouvez même les définir dans un namespace
sans class, c'est un choix de conception, pas d'implémentation.
--
Paul Bacelar
"patrice" <anonymous@discussions.microsoft.com> wrote in message
news:34e201c4b0db$b1090020$a301280a@phx.gbl...
Bonjour à tous,
plutôt nouveau en c#, j'ai par contre pas mal d'expérience
en Java, voici mon problème :
j'ai une interface en java qui déclare plusieurs
constantes,
public interface toto {
static const int tata = 10;
static const int titi = 20;
// etc...
}
D'après ce que j'ai lu, l'enum permet avec de nombreux
avantages de déclarer ces constantes, par contre, je ne
veux pas les déclarer dans une classe (pour ne pas les
attacher à une implémentation), c'est possible ?
l'enum permet de regrouper des valeurs liée comme les différentes valeurs possible d'un paramètre d'une méthode.
enum permet de faire une vérification de type à la compilation.
l'enum est donc beaucoup plus strict que la déclaration d'une simple constante.
Votre approche avec les constantes est viable en C# mais définir une constante dans une classe n'a aucun rapport avec une implémentation, vous pouvez les définir dans une interface sans implémentation ou dans une class abstraite non instanciable. Vous pouvez même les définir dans un namespace sans class, c'est un choix de conception, pas d'implémentation. -- Paul Bacelar
"patrice" wrote in message news:34e201c4b0db$b1090020$ Bonjour à tous,
plutôt nouveau en c#, j'ai par contre pas mal d'expérience en Java, voici mon problème :
j'ai une interface en java qui déclare plusieurs constantes,
public interface toto {
static const int tata = 10; static const int titi = 20;
// etc...
}
D'après ce que j'ai lu, l'enum permet avec de nombreux avantages de déclarer ces constantes, par contre, je ne veux pas les déclarer dans une classe (pour ne pas les attacher à une implémentation), c'est possible ?
Merci d'avance !
patrice
Tioune
D'ailleurs la possibilité de faire des énumérations a été ajouté dans Java 5.0 Alors pourquoi ne pas utiliser ça dans C# puisque ça existe déjà.
"Paul Bacelar" a écrit dans le message de news:
l'enum permet de regrouper des valeurs liée comme les différentes valeurs possible d'un paramètre d'une méthode.
enum permet de faire une vérification de type à la compilation.
l'enum est donc beaucoup plus strict que la déclaration d'une simple constante.
Votre approche avec les constantes est viable en C# mais définir une constante dans une classe n'a aucun rapport avec une implémentation, vous pouvez les définir dans une interface sans implémentation ou dans une class abstraite non instanciable. Vous pouvez même les définir dans un namespace sans class, c'est un choix de conception, pas d'implémentation. -- Paul Bacelar
"patrice" wrote in message news:34e201c4b0db$b1090020$ Bonjour à tous,
plutôt nouveau en c#, j'ai par contre pas mal d'expérience en Java, voici mon problème :
j'ai une interface en java qui déclare plusieurs constantes,
public interface toto {
static const int tata = 10; static const int titi = 20;
// etc...
}
D'après ce que j'ai lu, l'enum permet avec de nombreux avantages de déclarer ces constantes, par contre, je ne veux pas les déclarer dans une classe (pour ne pas les attacher à une implémentation), c'est possible ?
Merci d'avance !
patrice
D'ailleurs la possibilité de faire des énumérations a été ajouté dans Java
5.0
Alors pourquoi ne pas utiliser ça dans C# puisque ça existe déjà.
"Paul Bacelar" <paul.bacelar@PASDESPAMlaposte.net> a écrit dans le message
de news: eeoNLpOsEHA.2784@TK2MSFTNGP09.phx.gbl...
l'enum permet de regrouper des valeurs liée comme les différentes valeurs
possible d'un paramètre d'une méthode.
enum permet de faire une vérification de type à la compilation.
l'enum est donc beaucoup plus strict que la déclaration d'une simple
constante.
Votre approche avec les constantes est viable en C# mais définir une
constante dans une classe n'a aucun rapport avec une implémentation, vous
pouvez les définir dans une interface sans implémentation ou dans une
class
abstraite non instanciable. Vous pouvez même les définir dans un namespace
sans class, c'est un choix de conception, pas d'implémentation.
--
Paul Bacelar
"patrice" <anonymous@discussions.microsoft.com> wrote in message
news:34e201c4b0db$b1090020$a301280a@phx.gbl...
Bonjour à tous,
plutôt nouveau en c#, j'ai par contre pas mal d'expérience
en Java, voici mon problème :
j'ai une interface en java qui déclare plusieurs
constantes,
public interface toto {
static const int tata = 10;
static const int titi = 20;
// etc...
}
D'après ce que j'ai lu, l'enum permet avec de nombreux
avantages de déclarer ces constantes, par contre, je ne
veux pas les déclarer dans une classe (pour ne pas les
attacher à une implémentation), c'est possible ?
D'ailleurs la possibilité de faire des énumérations a été ajouté dans Java 5.0 Alors pourquoi ne pas utiliser ça dans C# puisque ça existe déjà.
"Paul Bacelar" a écrit dans le message de news:
l'enum permet de regrouper des valeurs liée comme les différentes valeurs possible d'un paramètre d'une méthode.
enum permet de faire une vérification de type à la compilation.
l'enum est donc beaucoup plus strict que la déclaration d'une simple constante.
Votre approche avec les constantes est viable en C# mais définir une constante dans une classe n'a aucun rapport avec une implémentation, vous pouvez les définir dans une interface sans implémentation ou dans une class abstraite non instanciable. Vous pouvez même les définir dans un namespace sans class, c'est un choix de conception, pas d'implémentation. -- Paul Bacelar
"patrice" wrote in message news:34e201c4b0db$b1090020$ Bonjour à tous,
plutôt nouveau en c#, j'ai par contre pas mal d'expérience en Java, voici mon problème :
j'ai une interface en java qui déclare plusieurs constantes,
public interface toto {
static const int tata = 10; static const int titi = 20;
// etc...
}
D'après ce que j'ai lu, l'enum permet avec de nombreux avantages de déclarer ces constantes, par contre, je ne veux pas les déclarer dans une classe (pour ne pas les attacher à une implémentation), c'est possible ?
Merci d'avance !
patrice
Pascal Mercier
Absolument. En fait, le problème est de savoir le sens de la portée de l'enumération. A-t-il un sens dans une classe donnée, où a-t-il une portée plus global, dans ce cas, la déclaration est à faire dans le namespace.
// Déclaration dans le namespace using System; using... // Autres using
namespace MonNamespace { public enum MonEnum // c'est un exemple ! { val1 = 0, val2 = 1, val3 = 2, val3 = 4, // etc... } }
ou bien
// Déclaration dans une classe using System; using... // Autres using
namespace { public class MaClasse { public enum MonEnum // c'est un exemple ! { val1 = 0, val2 = 1, val3 = 2, val3 = 4, // etc... } } }
A l'utilisation, ça donne: ...MonNamespace.MonEnum.Val1 ou ...MonNamespace.MaClasse.MonEnum.Val1
Pascal Mercier Microsoft France - MCS
"Paul Bacelar" a écrit dans le message de news:
l'enum permet de regrouper des valeurs liée comme les différentes valeurs possible d'un paramètre d'une méthode.
enum permet de faire une vérification de type à la compilation.
l'enum est donc beaucoup plus strict que la déclaration d'une simple constante.
Votre approche avec les constantes est viable en C# mais définir une constante dans une classe n'a aucun rapport avec une implémentation, vous pouvez les définir dans une interface sans implémentation ou dans une class abstraite non instanciable. Vous pouvez même les définir dans un namespace sans class, c'est un choix de conception, pas d'implémentation. -- Paul Bacelar
"patrice" wrote in message news:34e201c4b0db$b1090020$ Bonjour à tous,
plutôt nouveau en c#, j'ai par contre pas mal d'expérience en Java, voici mon problème :
j'ai une interface en java qui déclare plusieurs constantes,
public interface toto {
static const int tata = 10; static const int titi = 20;
// etc...
}
D'après ce que j'ai lu, l'enum permet avec de nombreux avantages de déclarer ces constantes, par contre, je ne veux pas les déclarer dans une classe (pour ne pas les attacher à une implémentation), c'est possible ?
Merci d'avance !
patrice
Absolument. En fait, le problème est de savoir le sens de la portée de
l'enumération. A-t-il un sens dans une classe donnée, où a-t-il une portée
plus global, dans ce cas, la déclaration est à faire dans le namespace.
// Déclaration dans le namespace
using System;
using... // Autres using
namespace MonNamespace
{
public enum MonEnum // c'est un exemple !
{
val1 = 0,
val2 = 1,
val3 = 2,
val3 = 4,
// etc...
}
}
ou bien
// Déclaration dans une classe
using System;
using... // Autres using
namespace
{
public class MaClasse
{
public enum MonEnum // c'est un exemple !
{
val1 = 0,
val2 = 1,
val3 = 2,
val3 = 4,
// etc...
}
}
}
A l'utilisation, ça donne:
...MonNamespace.MonEnum.Val1
ou
...MonNamespace.MaClasse.MonEnum.Val1
Pascal Mercier
Microsoft France - MCS
"Paul Bacelar" <paul.bacelar@PASDESPAMlaposte.net> a écrit dans le message
de news: eeoNLpOsEHA.2784@TK2MSFTNGP09.phx.gbl...
l'enum permet de regrouper des valeurs liée comme les différentes valeurs
possible d'un paramètre d'une méthode.
enum permet de faire une vérification de type à la compilation.
l'enum est donc beaucoup plus strict que la déclaration d'une simple
constante.
Votre approche avec les constantes est viable en C# mais définir une
constante dans une classe n'a aucun rapport avec une implémentation, vous
pouvez les définir dans une interface sans implémentation ou dans une
class
abstraite non instanciable. Vous pouvez même les définir dans un namespace
sans class, c'est un choix de conception, pas d'implémentation.
--
Paul Bacelar
"patrice" <anonymous@discussions.microsoft.com> wrote in message
news:34e201c4b0db$b1090020$a301280a@phx.gbl...
Bonjour à tous,
plutôt nouveau en c#, j'ai par contre pas mal d'expérience
en Java, voici mon problème :
j'ai une interface en java qui déclare plusieurs
constantes,
public interface toto {
static const int tata = 10;
static const int titi = 20;
// etc...
}
D'après ce que j'ai lu, l'enum permet avec de nombreux
avantages de déclarer ces constantes, par contre, je ne
veux pas les déclarer dans une classe (pour ne pas les
attacher à une implémentation), c'est possible ?
Absolument. En fait, le problème est de savoir le sens de la portée de l'enumération. A-t-il un sens dans une classe donnée, où a-t-il une portée plus global, dans ce cas, la déclaration est à faire dans le namespace.
// Déclaration dans le namespace using System; using... // Autres using
namespace MonNamespace { public enum MonEnum // c'est un exemple ! { val1 = 0, val2 = 1, val3 = 2, val3 = 4, // etc... } }
ou bien
// Déclaration dans une classe using System; using... // Autres using
namespace { public class MaClasse { public enum MonEnum // c'est un exemple ! { val1 = 0, val2 = 1, val3 = 2, val3 = 4, // etc... } } }
A l'utilisation, ça donne: ...MonNamespace.MonEnum.Val1 ou ...MonNamespace.MaClasse.MonEnum.Val1
Pascal Mercier Microsoft France - MCS
"Paul Bacelar" a écrit dans le message de news:
l'enum permet de regrouper des valeurs liée comme les différentes valeurs possible d'un paramètre d'une méthode.
enum permet de faire une vérification de type à la compilation.
l'enum est donc beaucoup plus strict que la déclaration d'une simple constante.
Votre approche avec les constantes est viable en C# mais définir une constante dans une classe n'a aucun rapport avec une implémentation, vous pouvez les définir dans une interface sans implémentation ou dans une class abstraite non instanciable. Vous pouvez même les définir dans un namespace sans class, c'est un choix de conception, pas d'implémentation. -- Paul Bacelar
"patrice" wrote in message news:34e201c4b0db$b1090020$ Bonjour à tous,
plutôt nouveau en c#, j'ai par contre pas mal d'expérience en Java, voici mon problème :
j'ai une interface en java qui déclare plusieurs constantes,
public interface toto {
static const int tata = 10; static const int titi = 20;
// etc...
}
D'après ce que j'ai lu, l'enum permet avec de nombreux avantages de déclarer ces constantes, par contre, je ne veux pas les déclarer dans une classe (pour ne pas les attacher à une implémentation), c'est possible ?
Merci d'avance !
patrice
>-----Message d'origine----- Absolument. En fait, le problème est de savoir le sens de
la portée de
l'enumération. A-t-il un sens dans une classe donnée, où
a-t-il une portée
plus global, dans ce cas, la déclaration est à faire dans
le namespace.
// Déclaration dans le namespace using System; using... // Autres using
namespace MonNamespace { public enum MonEnum // c'est un exemple ! { val1 = 0, val2 = 1, val3 = 2, val3 = 4, // etc... } }
ou bien
// Déclaration dans une classe using System; using... // Autres using
namespace { public class MaClasse { public enum MonEnum // c'est un exemple ! { val1 = 0, val2 = 1, val3 = 2, val3 = 4, // etc... } } }
A l'utilisation, ça donne: ....MonNamespace.MonEnum.Val1 ou ....MonNamespace.MaClasse.MonEnum.Val1
Pascal Mercier Microsoft France - MCS
"Paul Bacelar" a
écrit dans le message
de news:
l'enum permet de regrouper des valeurs liée comme les
différentes valeurs
possible d'un paramètre d'une méthode.
enum permet de faire une vérification de type à la
compilation.
l'enum est donc beaucoup plus strict que la déclaration
d'une simple
constante.
Votre approche avec les constantes est viable en C#
mais définir une
constante dans une classe n'a aucun rapport avec une
implémentation, vous
pouvez les définir dans une interface sans
implémentation ou dans une
class abstraite non instanciable. Vous pouvez même les
définir dans un namespace
sans class, c'est un choix de conception, pas
d'implémentation.
-- Paul Bacelar
"patrice" wrote
in message
news:34e201c4b0db$b1090020$ Bonjour à tous,
plutôt nouveau en c#, j'ai par contre pas mal
d'expérience
en Java, voici mon problème :
j'ai une interface en java qui déclare plusieurs constantes,
public interface toto {
static const int tata = 10; static const int titi = 20;
// etc...
}
D'après ce que j'ai lu, l'enum permet avec de nombreux avantages de déclarer ces constantes, par contre, je ne veux pas les déclarer dans une classe (pour ne pas les attacher à une implémentation), c'est possible ?
Merci d'avance !
patrice
.
un grand merci pour vos réponses qui m'ont été très précieuses.
patrice
>-----Message d'origine-----
Absolument. En fait, le problème est de savoir le sens de
la portée de
l'enumération. A-t-il un sens dans une classe donnée, où
a-t-il une portée
plus global, dans ce cas, la déclaration est à faire dans
le namespace.
// Déclaration dans le namespace
using System;
using... // Autres using
namespace MonNamespace
{
public enum MonEnum // c'est un exemple !
{
val1 = 0,
val2 = 1,
val3 = 2,
val3 = 4,
// etc...
}
}
ou bien
// Déclaration dans une classe
using System;
using... // Autres using
namespace
{
public class MaClasse
{
public enum MonEnum // c'est un exemple !
{
val1 = 0,
val2 = 1,
val3 = 2,
val3 = 4,
// etc...
}
}
}
A l'utilisation, ça donne:
....MonNamespace.MonEnum.Val1
ou
....MonNamespace.MaClasse.MonEnum.Val1
Pascal Mercier
Microsoft France - MCS
"Paul Bacelar" <paul.bacelar@PASDESPAMlaposte.net> a
écrit dans le message
de news: eeoNLpOsEHA.2784@TK2MSFTNGP09.phx.gbl...
l'enum permet de regrouper des valeurs liée comme les
différentes valeurs
possible d'un paramètre d'une méthode.
enum permet de faire une vérification de type à la
compilation.
l'enum est donc beaucoup plus strict que la déclaration
d'une simple
constante.
Votre approche avec les constantes est viable en C#
mais définir une
constante dans une classe n'a aucun rapport avec une
implémentation, vous
pouvez les définir dans une interface sans
implémentation ou dans une
class
abstraite non instanciable. Vous pouvez même les
définir dans un namespace
sans class, c'est un choix de conception, pas
d'implémentation.
--
Paul Bacelar
"patrice" <anonymous@discussions.microsoft.com> wrote
in message
news:34e201c4b0db$b1090020$a301280a@phx.gbl...
Bonjour à tous,
plutôt nouveau en c#, j'ai par contre pas mal
d'expérience
en Java, voici mon problème :
j'ai une interface en java qui déclare plusieurs
constantes,
public interface toto {
static const int tata = 10;
static const int titi = 20;
// etc...
}
D'après ce que j'ai lu, l'enum permet avec de nombreux
avantages de déclarer ces constantes, par contre, je ne
veux pas les déclarer dans une classe (pour ne pas les
attacher à une implémentation), c'est possible ?
Merci d'avance !
patrice
.
un grand merci pour vos réponses qui m'ont été très
précieuses.
>-----Message d'origine----- Absolument. En fait, le problème est de savoir le sens de
la portée de
l'enumération. A-t-il un sens dans une classe donnée, où
a-t-il une portée
plus global, dans ce cas, la déclaration est à faire dans
le namespace.
// Déclaration dans le namespace using System; using... // Autres using
namespace MonNamespace { public enum MonEnum // c'est un exemple ! { val1 = 0, val2 = 1, val3 = 2, val3 = 4, // etc... } }
ou bien
// Déclaration dans une classe using System; using... // Autres using
namespace { public class MaClasse { public enum MonEnum // c'est un exemple ! { val1 = 0, val2 = 1, val3 = 2, val3 = 4, // etc... } } }
A l'utilisation, ça donne: ....MonNamespace.MonEnum.Val1 ou ....MonNamespace.MaClasse.MonEnum.Val1
Pascal Mercier Microsoft France - MCS
"Paul Bacelar" a
écrit dans le message
de news:
l'enum permet de regrouper des valeurs liée comme les
différentes valeurs
possible d'un paramètre d'une méthode.
enum permet de faire une vérification de type à la
compilation.
l'enum est donc beaucoup plus strict que la déclaration
d'une simple
constante.
Votre approche avec les constantes est viable en C#
mais définir une
constante dans une classe n'a aucun rapport avec une
implémentation, vous
pouvez les définir dans une interface sans
implémentation ou dans une
class abstraite non instanciable. Vous pouvez même les
définir dans un namespace
sans class, c'est un choix de conception, pas
d'implémentation.
-- Paul Bacelar
"patrice" wrote
in message
news:34e201c4b0db$b1090020$ Bonjour à tous,
plutôt nouveau en c#, j'ai par contre pas mal
d'expérience
en Java, voici mon problème :
j'ai une interface en java qui déclare plusieurs constantes,
public interface toto {
static const int tata = 10; static const int titi = 20;
// etc...
}
D'après ce que j'ai lu, l'enum permet avec de nombreux avantages de déclarer ces constantes, par contre, je ne veux pas les déclarer dans une classe (pour ne pas les attacher à une implémentation), c'est possible ?
Merci d'avance !
patrice
.
un grand merci pour vos réponses qui m'ont été très précieuses.