si, dans une classe, je défini une fonction statique avec un paramètre
qui est une énumération de la même classe (j'ai pas essayé avec une
énumération d'une autre classe), le compilateur me dit que ce n'est pas
possible du fait d'une différence de visibilité.
Du coup ma question est la suivante, peut-on déclarer une énumération
comme statique (ou équivalent)?
--
*/Teträm/*
http://www.tetram.info
"L'amour pour épée, l'humour pour bouclier" - Bernard Werber
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
Ambassadeur Kosh
> si, dans une classe, je défini une fonction statique avec un paramètre qui est une énumération de la même classe (j'ai pas essayé avec une énumération d'une autre classe), le compilateur me dit que ce n'est pas possible du fait d'une différence de visibilité.
Du coup ma question est la suivante, peut-on déclarer une énumération comme statique (ou équivalent)?
le vrai probleme est dans le droit d'acces. dans int x3 ; 123 est static, quelquepart. donc ça ne pose aucun probleme. n'oubliez pas que ne rien declarer pour des class dans un namespace, c'est les declarer internal.
enum Dummy { a,b,c } public static class Classe { public static Dummy Value ; }
donc la, ça craint puisque vous voulez rendre accessible Value à la terre entiere, mais en interdisant Dummy de sortir de l'assembly : incohérence.
public enum Dummy { a,b,c } public static class Classe { public static Dummy Value ; }
le static n'a rien à voir dans tout ça. et pour les Nested class, les modificateurs protected, private... interviennent, mais le probleme reste le meme : la cohérence globale.
> si, dans une classe, je défini une fonction statique avec un paramètre qui
est une énumération de la même classe (j'ai pas essayé avec une
énumération d'une autre classe), le compilateur me dit que ce n'est pas
possible du fait d'une différence de visibilité.
Du coup ma question est la suivante, peut-on déclarer une énumération
comme statique (ou équivalent)?
le vrai probleme est dans le droit d'acces.
dans int x3 ; 123 est static, quelquepart.
donc ça ne pose aucun probleme. n'oubliez pas que ne rien declarer pour des
class dans un namespace, c'est les declarer internal.
enum Dummy { a,b,c }
public static class Classe { public static Dummy Value ; }
donc la, ça craint puisque vous voulez rendre accessible Value à la terre
entiere, mais en interdisant Dummy de sortir de l'assembly : incohérence.
public enum Dummy { a,b,c }
public static class Classe { public static Dummy Value ; }
le static n'a rien à voir dans tout ça. et pour les Nested class, les
modificateurs protected, private... interviennent, mais le probleme reste le
meme : la cohérence globale.
> si, dans une classe, je défini une fonction statique avec un paramètre qui est une énumération de la même classe (j'ai pas essayé avec une énumération d'une autre classe), le compilateur me dit que ce n'est pas possible du fait d'une différence de visibilité.
Du coup ma question est la suivante, peut-on déclarer une énumération comme statique (ou équivalent)?
le vrai probleme est dans le droit d'acces. dans int x3 ; 123 est static, quelquepart. donc ça ne pose aucun probleme. n'oubliez pas que ne rien declarer pour des class dans un namespace, c'est les declarer internal.
enum Dummy { a,b,c } public static class Classe { public static Dummy Value ; }
donc la, ça craint puisque vous voulez rendre accessible Value à la terre entiere, mais en interdisant Dummy de sortir de l'assembly : incohérence.
public enum Dummy { a,b,c } public static class Classe { public static Dummy Value ; }
le static n'a rien à voir dans tout ça. et pour les Nested class, les modificateurs protected, private... interviennent, mais le probleme reste le meme : la cohérence globale.
Faust
vi sauf que ma classe est déclarée internal mais surtout que ce n'est pas ça mon problème:
internal class Classe { enum Dummy{a,b,c} public static void Prov(Dummy value) {} }
c'est comme ça que le compilo n'est pas d'accord: il refuse que mon paramètre value soit de type Dummy
et c'était le même genre d'erreur que lorsque j'essaye d'utiliser une variable de la classe non statique dans une procédure statique c'est pour ça que j'ai supposé qu'il fallait que j'indique mon enumération comme statique mais je vois pas comment faire
/Dans son message précédent, _Ambassadeur Kosh_ a écrit/ :
si, dans une classe, je défini une fonction statique avec un paramètre qui est une énumération de la même classe (j'ai pas essayé avec une énumération d'une autre classe), le compilateur me dit que ce n'est pas possible du fait d'une différence de visibilité.
Du coup ma question est la suivante, peut-on déclarer une énumération comme statique (ou équivalent)?
le vrai probleme est dans le droit d'acces. dans int x3 ; 123 est static, quelquepart. donc ça ne pose aucun probleme. n'oubliez pas que ne rien declarer pour des class dans un namespace, c'est les declarer internal.
enum Dummy { a,b,c } public static class Classe { public static Dummy Value ; }
donc la, ça craint puisque vous voulez rendre accessible Value à la terre entiere, mais en interdisant Dummy de sortir de l'assembly : incohérence.
public enum Dummy { a,b,c } public static class Classe { public static Dummy Value ; }
le static n'a rien à voir dans tout ça. et pour les Nested class, les modificateurs protected, private... interviennent, mais le probleme reste le meme : la cohérence globale.
-- */Teträm/* http://www.tetram.info
"On a toujours tort d'essayer d'avoir raison devant des gens qui ont toutes les bonnes raisons de croire qu'ils n'ont pas tort !" - Raymond Devos
vi sauf que ma classe est déclarée internal
mais surtout que ce n'est pas ça mon problème:
internal class Classe
{
enum Dummy{a,b,c}
public static void Prov(Dummy value) {}
}
c'est comme ça que le compilo n'est pas d'accord: il refuse que mon
paramètre value soit de type Dummy
et c'était le même genre d'erreur que lorsque j'essaye d'utiliser une
variable de la classe non statique dans une procédure statique
c'est pour ça que j'ai supposé qu'il fallait que j'indique mon
enumération comme statique mais je vois pas comment faire
/Dans son message précédent, _Ambassadeur Kosh_ a écrit/ :
si, dans une classe, je défini une fonction statique avec un paramètre qui
est une énumération de la même classe (j'ai pas essayé avec une énumération
d'une autre classe), le compilateur me dit que ce n'est pas possible du
fait d'une différence de visibilité.
Du coup ma question est la suivante, peut-on déclarer une énumération comme
statique (ou équivalent)?
le vrai probleme est dans le droit d'acces.
dans int x3 ; 123 est static, quelquepart.
donc ça ne pose aucun probleme. n'oubliez pas que ne rien declarer pour des
class dans un namespace, c'est les declarer internal.
enum Dummy { a,b,c }
public static class Classe { public static Dummy Value ; }
donc la, ça craint puisque vous voulez rendre accessible Value à la terre
entiere, mais en interdisant Dummy de sortir de l'assembly : incohérence.
public enum Dummy { a,b,c }
public static class Classe { public static Dummy Value ; }
le static n'a rien à voir dans tout ça. et pour les Nested class, les
modificateurs protected, private... interviennent, mais le probleme reste le
meme : la cohérence globale.
--
*/Teträm/*
http://www.tetram.info
"On a toujours tort d'essayer d'avoir raison devant des gens qui ont
toutes les bonnes raisons de croire qu'ils n'ont pas tort !" - Raymond
Devos
vi sauf que ma classe est déclarée internal mais surtout que ce n'est pas ça mon problème:
internal class Classe { enum Dummy{a,b,c} public static void Prov(Dummy value) {} }
c'est comme ça que le compilo n'est pas d'accord: il refuse que mon paramètre value soit de type Dummy
et c'était le même genre d'erreur que lorsque j'essaye d'utiliser une variable de la classe non statique dans une procédure statique c'est pour ça que j'ai supposé qu'il fallait que j'indique mon enumération comme statique mais je vois pas comment faire
/Dans son message précédent, _Ambassadeur Kosh_ a écrit/ :
si, dans une classe, je défini une fonction statique avec un paramètre qui est une énumération de la même classe (j'ai pas essayé avec une énumération d'une autre classe), le compilateur me dit que ce n'est pas possible du fait d'une différence de visibilité.
Du coup ma question est la suivante, peut-on déclarer une énumération comme statique (ou équivalent)?
le vrai probleme est dans le droit d'acces. dans int x3 ; 123 est static, quelquepart. donc ça ne pose aucun probleme. n'oubliez pas que ne rien declarer pour des class dans un namespace, c'est les declarer internal.
enum Dummy { a,b,c } public static class Classe { public static Dummy Value ; }
donc la, ça craint puisque vous voulez rendre accessible Value à la terre entiere, mais en interdisant Dummy de sortir de l'assembly : incohérence.
public enum Dummy { a,b,c } public static class Classe { public static Dummy Value ; }
le static n'a rien à voir dans tout ça. et pour les Nested class, les modificateurs protected, private... interviennent, mais le probleme reste le meme : la cohérence globale.
-- */Teträm/* http://www.tetram.info
"On a toujours tort d'essayer d'avoir raison devant des gens qui ont toutes les bonnes raisons de croire qu'ils n'ont pas tort !" - Raymond Devos
Ambassadeur Kosh
> internal class Classe { enum Dummy{a,b,c} public static void Prov(Dummy value) {} }
c'est comme ça que le compilo n'est pas d'accord: il refuse que mon paramètre value soit de type Dummy
et c'était le même genre d'erreur que lorsque j'essaye d'utiliser une variable de la classe non statique dans une procédure statique c'est pour ça que j'ai supposé qu'il fallait que j'indique mon enumération comme statique mais je vois pas comment faire
ça rentre exactement dans ce que j'esplik. le cas de figure, c'est que l'enum est private. donc rien en dehors de Classe ne peut manipuler ou instancier des Dummy. comment une autre classe de l'assembly, qui peut manipuler Classe (par static ou pas, on s'en branle), pourra appeller Prov et lui passer la value ? il faudrait pourvoir ecrire
class Test { public void DoTest1() { Classe.Dummy v = Classe.Dummy.a ; // impossible, Dummy est private Classe.Prov(v) ; } public void DoTest2() { Classe.Prov(Classe.Dummy.a) ; // impossible pour la meme raison } }
coherence, c'est le maitre mot...
> internal class Classe
{
enum Dummy{a,b,c}
public static void Prov(Dummy value) {}
}
c'est comme ça que le compilo n'est pas d'accord: il refuse que mon
paramètre value soit de type Dummy
et c'était le même genre d'erreur que lorsque j'essaye d'utiliser une
variable de la classe non statique dans une procédure statique
c'est pour ça que j'ai supposé qu'il fallait que j'indique mon enumération
comme statique mais je vois pas comment faire
ça rentre exactement dans ce que j'esplik. le cas de figure, c'est que
l'enum est private.
donc rien en dehors de Classe ne peut manipuler ou instancier des Dummy.
comment une autre classe de l'assembly, qui peut manipuler Classe (par
static ou pas, on s'en branle), pourra appeller Prov et lui passer la value
? il faudrait pourvoir ecrire
class Test
{
public void DoTest1()
{
Classe.Dummy v = Classe.Dummy.a ; // impossible, Dummy est private
Classe.Prov(v) ;
}
public void DoTest2()
{
Classe.Prov(Classe.Dummy.a) ; // impossible pour la meme raison
}
}
> internal class Classe { enum Dummy{a,b,c} public static void Prov(Dummy value) {} }
c'est comme ça que le compilo n'est pas d'accord: il refuse que mon paramètre value soit de type Dummy
et c'était le même genre d'erreur que lorsque j'essaye d'utiliser une variable de la classe non statique dans une procédure statique c'est pour ça que j'ai supposé qu'il fallait que j'indique mon enumération comme statique mais je vois pas comment faire
ça rentre exactement dans ce que j'esplik. le cas de figure, c'est que l'enum est private. donc rien en dehors de Classe ne peut manipuler ou instancier des Dummy. comment une autre classe de l'assembly, qui peut manipuler Classe (par static ou pas, on s'en branle), pourra appeller Prov et lui passer la value ? il faudrait pourvoir ecrire
class Test { public void DoTest1() { Classe.Dummy v = Classe.Dummy.a ; // impossible, Dummy est private Classe.Prov(v) ; } public void DoTest2() { Classe.Prov(Classe.Dummy.a) ; // impossible pour la meme raison } }
coherence, c'est le maitre mot...
Vko
... et donc ... si tu rajoute un petit public devant ton enum, le compilateur ne te criera plus dessus.
"Ambassadeur Kosh" wrote:
> internal class Classe > { > enum Dummy{a,b,c} > public static void Prov(Dummy value) {} > } > > c'est comme ça que le compilo n'est pas d'accord: il refuse que mon > paramètre value soit de type Dummy > > et c'était le même genre d'erreur que lorsque j'essaye d'utiliser une > variable de la classe non statique dans une procédure statique > c'est pour ça que j'ai supposé qu'il fallait que j'indique mon enumération > comme statique mais je vois pas comment faire
ça rentre exactement dans ce que j'esplik. le cas de figure, c'est que l'enum est private. donc rien en dehors de Classe ne peut manipuler ou instancier des Dummy. comment une autre classe de l'assembly, qui peut manipuler Classe (par static ou pas, on s'en branle), pourra appeller Prov et lui passer la value ? il faudrait pourvoir ecrire
class Test { public void DoTest1() { Classe.Dummy v = Classe.Dummy.a ; // impossible, Dummy est private Classe.Prov(v) ; } public void DoTest2() { Classe.Prov(Classe.Dummy.a) ; // impossible pour la meme raison } }
coherence, c'est le maitre mot...
... et donc ... si tu rajoute un petit public devant ton enum, le compilateur
ne te criera plus dessus.
"Ambassadeur Kosh" wrote:
> internal class Classe
> {
> enum Dummy{a,b,c}
> public static void Prov(Dummy value) {}
> }
>
> c'est comme ça que le compilo n'est pas d'accord: il refuse que mon
> paramètre value soit de type Dummy
>
> et c'était le même genre d'erreur que lorsque j'essaye d'utiliser une
> variable de la classe non statique dans une procédure statique
> c'est pour ça que j'ai supposé qu'il fallait que j'indique mon enumération
> comme statique mais je vois pas comment faire
ça rentre exactement dans ce que j'esplik. le cas de figure, c'est que
l'enum est private.
donc rien en dehors de Classe ne peut manipuler ou instancier des Dummy.
comment une autre classe de l'assembly, qui peut manipuler Classe (par
static ou pas, on s'en branle), pourra appeller Prov et lui passer la value
? il faudrait pourvoir ecrire
class Test
{
public void DoTest1()
{
Classe.Dummy v = Classe.Dummy.a ; // impossible, Dummy est private
Classe.Prov(v) ;
}
public void DoTest2()
{
Classe.Prov(Classe.Dummy.a) ; // impossible pour la meme raison
}
}
... et donc ... si tu rajoute un petit public devant ton enum, le compilateur ne te criera plus dessus.
"Ambassadeur Kosh" wrote:
> internal class Classe > { > enum Dummy{a,b,c} > public static void Prov(Dummy value) {} > } > > c'est comme ça que le compilo n'est pas d'accord: il refuse que mon > paramètre value soit de type Dummy > > et c'était le même genre d'erreur que lorsque j'essaye d'utiliser une > variable de la classe non statique dans une procédure statique > c'est pour ça que j'ai supposé qu'il fallait que j'indique mon enumération > comme statique mais je vois pas comment faire
ça rentre exactement dans ce que j'esplik. le cas de figure, c'est que l'enum est private. donc rien en dehors de Classe ne peut manipuler ou instancier des Dummy. comment une autre classe de l'assembly, qui peut manipuler Classe (par static ou pas, on s'en branle), pourra appeller Prov et lui passer la value ? il faudrait pourvoir ecrire
class Test { public void DoTest1() { Classe.Dummy v = Classe.Dummy.a ; // impossible, Dummy est private Classe.Prov(v) ; } public void DoTest2() { Classe.Prov(Classe.Dummy.a) ; // impossible pour la meme raison } }