J'ai cr=E9e une classe que je voudrai instancier plusieurs=20
fois.
J'aurai voulu les mettre dans un array list pour pouvoir=20
y acceder suivant le choix de l'utilisateur.
Par exemple dans mon liste box
Un "is" ne serait pas plus propre que la gestion des erreurs de cast ?
La nécessité fait loi mais quand on peut faire des choses élégantes, il ne faut pas s'en priver.
Selon toi que fais un "Is" en interne ? J'imagine que je pourrais faire des Is avec des GetType etc... Je suis un mauvais programmeur, quand je prends les sources de quelqu'un d'autres. :-)
Paul Bacelar
Bismark
"Bismark Prods" <xanaia#nospam#@urbanet.ch> wrote in message news: > LOL ! je suis meme une brute épaisse car à certains endroits je caste
meme
> pas ! je travail sur la gestion d'erreur de cast ... lol > > > "Ambassadeur Kosh" a écrit dans le message
de
> news:OwA% > > > > Ils devraient au moins implémenter une interface commune. > > > > > > Actuellement je termine de programmer une gestion complète de
fichier
> MP3 > > > autonome. ... et ca > > > marche plutot bien ! :-) > > > > ok. voila le cas . maintenant, ta collection, elle accepte un nombre > > restreint de type. j'imagine que tu vas pas faire rentrer dedans des > > FileWatcher ou des HamsterCollection. donc déja, un ArrayList, si tu
Add
> > quelque chose d'indesirable, ça passera quand meme à la compile. et à > > imaginer que plus tard tu autorise d'autre type et en interdise
d'autre,
> vu > > que tu as casté partout, le compilateur ne te dira rien sur les
endroits
> > dependants du changement. > > > > et j'imagine que les traitements que tu fais sont specifiques pour chaque > > type, mais qu'ils s'inscrivent dans une generalité. > > > > donc > > > > abstract class Item > > { > > public abstract int TailleEnOctet() ; > > public abstract void WriteToXml(XmlWriter writer) ; > > ... > > } > > > > class DoubleItem : Item... > > class StringItem : Item... > > > > - object systematique : je persiste dans mon affirmation. ça tiens de > > l'inconscience. > > - object a bon escient : je m'interoge. il y'a des rares cas comme > > IDataRecord, ou peut être... > > > > bon, puis c'est un peu tot pour le Troll de la rentrée. on va attendre > > Septembre :o) > > > > > >
Bonsoir Paul,
"Paul Bacelar" <paul.bacelar@PASDESPAMlaposte.net> a écrit dans le message
de news:%23ythEi5iEHA.556@tk2msftngp13.phx.gbl...
Un "is" ne serait pas plus propre que la gestion des erreurs de cast ?
La nécessité fait loi mais quand on peut faire des choses élégantes, il ne
faut pas s'en priver.
Selon toi que fais un "Is" en interne ? J'imagine que je pourrais faire des
Is avec des GetType etc... Je suis un mauvais programmeur, quand je prends
les sources de quelqu'un d'autres. :-)
Paul Bacelar
Bismark
"Bismark Prods" <xanaia#nospam#@urbanet.ch> wrote in message
news:eEaFvH2iEHA.1356@TK2MSFTNGP09.phx.gbl...
> LOL ! je suis meme une brute épaisse car à certains endroits je caste
meme
> pas ! je travail sur la gestion d'erreur de cast ... lol
>
>
> "Ambassadeur Kosh" <kosh.naranek@babylon5.net> a écrit dans le message
de
> news:OwA%23G3ziEHA.140@TK2MSFTNGP12.phx.gbl...
> > > > Ils devraient au moins implémenter une interface commune.
> > >
> > > Actuellement je termine de programmer une gestion complète de
fichier
> MP3
> > > autonome. ... et ca
> > > marche plutot bien ! :-)
> >
> > ok. voila le cas . maintenant, ta collection, elle accepte un nombre
> > restreint de type. j'imagine que tu vas pas faire rentrer dedans des
> > FileWatcher ou des HamsterCollection. donc déja, un ArrayList, si tu
Add
> > quelque chose d'indesirable, ça passera quand meme à la compile. et à
> > imaginer que plus tard tu autorise d'autre type et en interdise
d'autre,
> vu
> > que tu as casté partout, le compilateur ne te dira rien sur les
endroits
> > dependants du changement.
> >
> > et j'imagine que les traitements que tu fais sont specifiques pour
chaque
> > type, mais qu'ils s'inscrivent dans une generalité.
> >
> > donc
> >
> > abstract class Item
> > {
> > public abstract int TailleEnOctet() ;
> > public abstract void WriteToXml(XmlWriter writer) ;
> > ...
> > }
> >
> > class DoubleItem : Item...
> > class StringItem : Item...
> >
> > - object systematique : je persiste dans mon affirmation. ça tiens de
> > l'inconscience.
> > - object a bon escient : je m'interoge. il y'a des rares cas comme
> > IDataRecord, ou peut être...
> >
> > bon, puis c'est un peu tot pour le Troll de la rentrée. on va attendre
> > Septembre :o)
> >
> >
>
>
Un "is" ne serait pas plus propre que la gestion des erreurs de cast ?
La nécessité fait loi mais quand on peut faire des choses élégantes, il ne faut pas s'en priver.
Selon toi que fais un "Is" en interne ? J'imagine que je pourrais faire des Is avec des GetType etc... Je suis un mauvais programmeur, quand je prends les sources de quelqu'un d'autres. :-)
Paul Bacelar
Bismark
"Bismark Prods" <xanaia#nospam#@urbanet.ch> wrote in message news: > LOL ! je suis meme une brute épaisse car à certains endroits je caste
meme
> pas ! je travail sur la gestion d'erreur de cast ... lol > > > "Ambassadeur Kosh" a écrit dans le message
de
> news:OwA% > > > > Ils devraient au moins implémenter une interface commune. > > > > > > Actuellement je termine de programmer une gestion complète de
fichier
> MP3 > > > autonome. ... et ca > > > marche plutot bien ! :-) > > > > ok. voila le cas . maintenant, ta collection, elle accepte un nombre > > restreint de type. j'imagine que tu vas pas faire rentrer dedans des > > FileWatcher ou des HamsterCollection. donc déja, un ArrayList, si tu
Add
> > quelque chose d'indesirable, ça passera quand meme à la compile. et à > > imaginer que plus tard tu autorise d'autre type et en interdise
d'autre,
> vu > > que tu as casté partout, le compilateur ne te dira rien sur les
endroits
> > dependants du changement. > > > > et j'imagine que les traitements que tu fais sont specifiques pour chaque > > type, mais qu'ils s'inscrivent dans une generalité. > > > > donc > > > > abstract class Item > > { > > public abstract int TailleEnOctet() ; > > public abstract void WriteToXml(XmlWriter writer) ; > > ... > > } > > > > class DoubleItem : Item... > > class StringItem : Item... > > > > - object systematique : je persiste dans mon affirmation. ça tiens de > > l'inconscience. > > - object a bon escient : je m'interoge. il y'a des rares cas comme > > IDataRecord, ou peut être... > > > > bon, puis c'est un peu tot pour le Troll de la rentrée. on va attendre > > Septembre :o) > > > > > >
wavemill
Merci hyper interessant!!
J'ai pas tout compris, mais je vais y réfléchir serieusement!! Merci pour toutes les explications!!! Super interessant et bien expliqué, a moi de faire fonctionner les neuronnes!!
xavemill
Merci hyper interessant!!
J'ai pas tout compris, mais je vais y réfléchir
serieusement!!
Merci pour toutes les explications!!!
Super interessant et bien expliqué, a moi de faire
fonctionner les neuronnes!!
J'ai pas tout compris, mais je vais y réfléchir serieusement!! Merci pour toutes les explications!!! Super interessant et bien expliqué, a moi de faire fonctionner les neuronnes!!
xavemill
Ambassadeur Kosh
en gros, pour résumer...
si t'ecris
double [] t = new double[3]; t[0]="wdfg" ;
le compilateur refusera. il verra que tu ne peux pas filer une string à bouffer à un vecteur de double.
double [] t = new double[3];
t[0]%.6 ; t[1]%.6 ; t[2]%.6 ;
foreach(string s in t) ...
le compilateur refusera aussi. c'est normal. et c'est vachement appreciable qu'il voit ça.
et donc il est possible moyennant certaines lignes de codes dans la collection d'avoir les meme avantages avec CollectionBase.
d'une part toutes les methodes "sensibles" qui prenaient des "object" (comme Add) sont typées avec des Dummy. d'autre part l'iterator qui permet au foreach de refuser les racailles en basket à l'entrée de la boite.
plus tu exprimes/declare de choses, plus le compilateur est capable detecter les erreurs que tu commets. quand tu vois un source comme quelque chose d'ecrit une fois pour toute, ça parait etre un detail, mais quand tes classes changent et que tes fonctionalités evoluent, ça prend tout son sens. quelque part, tu te rapproches de trés pres du ça compile, donc ça marche.
si tu decides qu ton tableau devient un tableau de decimal, partout ou il y a probleme, ça sera signalé.
alors que ça, ça compilera, toujours.
decimal t[] = ... double x = (double)t[0] ;
vois tu ?
en gros, pour résumer...
si t'ecris
double [] t = new double[3];
t[0]="wdfg" ;
le compilateur refusera. il verra que tu ne peux pas filer une string à
bouffer à un vecteur de double.
double [] t = new double[3];
t[0]%.6 ;
t[1]%.6 ;
t[2]%.6 ;
foreach(string s in t)
...
le compilateur refusera aussi. c'est normal. et c'est vachement appreciable
qu'il voit ça.
et donc il est possible moyennant certaines lignes de codes dans la
collection d'avoir les meme avantages avec CollectionBase.
d'une part toutes les methodes "sensibles" qui prenaient des "object" (comme
Add) sont typées avec des Dummy.
d'autre part l'iterator qui permet au foreach de refuser les racailles en
basket à l'entrée de la boite.
plus tu exprimes/declare de choses, plus le compilateur est capable detecter
les erreurs que tu commets. quand tu vois un source comme quelque chose
d'ecrit une fois pour toute, ça parait etre un detail, mais quand tes
classes changent et que tes fonctionalités evoluent, ça prend tout son sens.
quelque part, tu te rapproches de trés pres du ça compile, donc ça marche.
si tu decides qu ton tableau devient un tableau de decimal, partout ou il y
a probleme, ça sera signalé.
le compilateur refusera. il verra que tu ne peux pas filer une string à bouffer à un vecteur de double.
double [] t = new double[3];
t[0]%.6 ; t[1]%.6 ; t[2]%.6 ;
foreach(string s in t) ...
le compilateur refusera aussi. c'est normal. et c'est vachement appreciable qu'il voit ça.
et donc il est possible moyennant certaines lignes de codes dans la collection d'avoir les meme avantages avec CollectionBase.
d'une part toutes les methodes "sensibles" qui prenaient des "object" (comme Add) sont typées avec des Dummy. d'autre part l'iterator qui permet au foreach de refuser les racailles en basket à l'entrée de la boite.
plus tu exprimes/declare de choses, plus le compilateur est capable detecter les erreurs que tu commets. quand tu vois un source comme quelque chose d'ecrit une fois pour toute, ça parait etre un detail, mais quand tes classes changent et que tes fonctionalités evoluent, ça prend tout son sens. quelque part, tu te rapproches de trés pres du ça compile, donc ça marche.
si tu decides qu ton tableau devient un tableau de decimal, partout ou il y a probleme, ça sera signalé.