Bonsoir,
Pas encore bien familiarisé avec VB.Net 2005 je ne trouve pas la solution à
mon problème :
Dans une Classe, j'ai une propriété en lecture/écriture. En écriture je dois
passer un paramètre afin de faire un petit calcul avant de stocker la
valeur. En lecture je récupère simplement ma valeur. Le problème c'est que
quand je veux lire la valeur de la propriété (lecture) je suis obligé de
fournir un paramètre (du même type que celui utilisé au moment de
l'écriture).
Il existe certainement une solution pour obtenir ma valeur sans fournir de
paramètre !
Bonsoir, Pas encore bien familiarisé avec VB.Net 2005 je ne trouve pas la solution à mon problème : Dans une Classe, j'ai une propriété en lecture/écriture. En écriture je dois passer un paramètre afin de faire un petit calcul avant de stocker la valeur. En lecture je récupère simplement ma valeur. Le problème c'est que quand je veux lire la valeur de la propriété (lecture) je suis obligé de fournir un paramètre (du même type que celui utilisé au moment de l'écriture). Il existe certainement une solution pour obtenir ma valeur sans fournir de paramètre !
Merci pour votre aide.
@+ Thierry
rien de complèxe pourtant ...
class MaClasse
private _ValeurDeMaProp as double ' c'est ici que sera stocker la var à traiter dans la classe
Property MaProp() As Double Get MaProp= _ValeurDeMaProp End Get Set(ByVal value As Double) 'Traitement sur Value If value < 0 Then value = 0 ElseIf value > 100 Then value = 100 End If _ValeurDeMaProp = value End Set End Property
-- Bill2
Thierry wrote:
Bonsoir,
Pas encore bien familiarisé avec VB.Net 2005 je ne trouve pas la
solution à mon problème :
Dans une Classe, j'ai une propriété en lecture/écriture. En écriture
je dois passer un paramètre afin de faire un petit calcul avant de
stocker la valeur. En lecture je récupère simplement ma valeur. Le
problème c'est que quand je veux lire la valeur de la propriété
(lecture) je suis obligé de fournir un paramètre (du même type que
celui utilisé au moment de l'écriture).
Il existe certainement une solution pour obtenir ma valeur sans
fournir de paramètre !
Merci pour votre aide.
@+
Thierry
rien de complèxe pourtant ...
class MaClasse
private _ValeurDeMaProp as double ' c'est ici que sera stocker la var à
traiter dans la classe
Property MaProp() As Double
Get
MaProp= _ValeurDeMaProp
End Get
Set(ByVal value As Double)
'Traitement sur Value
If value < 0 Then
value = 0
ElseIf value > 100 Then
value = 100
End If
_ValeurDeMaProp = value
End Set
End Property
Bonsoir, Pas encore bien familiarisé avec VB.Net 2005 je ne trouve pas la solution à mon problème : Dans une Classe, j'ai une propriété en lecture/écriture. En écriture je dois passer un paramètre afin de faire un petit calcul avant de stocker la valeur. En lecture je récupère simplement ma valeur. Le problème c'est que quand je veux lire la valeur de la propriété (lecture) je suis obligé de fournir un paramètre (du même type que celui utilisé au moment de l'écriture). Il existe certainement une solution pour obtenir ma valeur sans fournir de paramètre !
Merci pour votre aide.
@+ Thierry
rien de complèxe pourtant ...
class MaClasse
private _ValeurDeMaProp as double ' c'est ici que sera stocker la var à traiter dans la classe
Property MaProp() As Double Get MaProp= _ValeurDeMaProp End Get Set(ByVal value As Double) 'Traitement sur Value If value < 0 Then value = 0 ElseIf value > 100 Then value = 100 End If _ValeurDeMaProp = value End Set End Property
-- Bill2
Fred
Dans : news:, Thierry disait :
Bonsoir,
Bonjour,
Pas encore bien familiarisé avec VB.Net 2005 je ne trouve pas la solution à mon problème : Dans une Classe, j'ai une propriété en lecture/écriture. En écriture je dois passer un paramètre afin de faire un petit calcul avant de stocker la valeur. En lecture je récupère simplement ma valeur. Le problème c'est que quand je veux lire la valeur de la propriété (lecture) je suis obligé de fournir un paramètre (du même type que celui utilisé au moment de l'écriture).
Un exemple :
Private _prop As String
Public WriteOnly Property prop(ByVal param As Int32) As String Set(ByVal value As String)
End Set End Property
Public ReadOnly Property prop() As String Get Return Me._prop End Get End Property
-- Fred http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Dans : news:uIlrHgknHHA.3264@TK2MSFTNGP04.phx.gbl,
Thierry disait :
Bonsoir,
Bonjour,
Pas encore bien familiarisé avec VB.Net 2005 je ne trouve pas la
solution à mon problème :
Dans une Classe, j'ai une propriété en lecture/écriture. En écriture
je dois passer un paramètre afin de faire un petit calcul avant de
stocker la valeur. En lecture je récupère simplement ma valeur. Le
problème c'est que quand je veux lire la valeur de la propriété
(lecture) je suis obligé de fournir un paramètre (du même type que
celui utilisé au moment de l'écriture).
Un exemple :
Private _prop As String
Public WriteOnly Property prop(ByVal param As Int32) As String
Set(ByVal value As String)
End Set
End Property
Public ReadOnly Property prop() As String
Get
Return Me._prop
End Get
End Property
--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Pas encore bien familiarisé avec VB.Net 2005 je ne trouve pas la solution à mon problème : Dans une Classe, j'ai une propriété en lecture/écriture. En écriture je dois passer un paramètre afin de faire un petit calcul avant de stocker la valeur. En lecture je récupère simplement ma valeur. Le problème c'est que quand je veux lire la valeur de la propriété (lecture) je suis obligé de fournir un paramètre (du même type que celui utilisé au moment de l'écriture).
Un exemple :
Private _prop As String
Public WriteOnly Property prop(ByVal param As Int32) As String Set(ByVal value As String)
End Set End Property
Public ReadOnly Property prop() As String Get Return Me._prop End Get End Property
-- Fred http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Bill2
Fred wrote:
Un exemple :
Private _prop As String
Public WriteOnly Property prop(ByVal param As Int32) As String Set(ByVal value As String)
End Set End Property
Public ReadOnly Property prop() As String Get Return Me._prop End Get End Property
euh .. c'est pas cohérent ça, une meme prop qui est à la fois ReadOnly et Write only ...
Avez-vu mon message et la solution proposée ?
-- Bill2
Fred wrote:
Un exemple :
Private _prop As String
Public WriteOnly Property prop(ByVal param As Int32) As String
Set(ByVal value As String)
End Set
End Property
Public ReadOnly Property prop() As String
Get
Return Me._prop
End Get
End Property
euh .. c'est pas cohérent ça, une meme prop qui est à la fois ReadOnly et
Write only ...
Public WriteOnly Property prop(ByVal param As Int32) As String Set(ByVal value As String)
End Set End Property
Public ReadOnly Property prop() As String Get Return Me._prop End Get End Property
euh .. c'est pas cohérent ça, une meme prop qui est à la fois ReadOnly et Write only ...
Ce n'est pas vraiment la même propriété.
Avez-vu mon message et la solution proposée ?
Oui, elle ne répond pas à la question. Relisez attentivement la question.
-- Fred http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Bill2
Fred wrote:
Avez-vu mon message et la solution proposée ?
Oui, elle ne répond pas à la question. Relisez attentivement la question.
au contraire, elle répond parfaitement ! J'ai proposé un prop en lecture écriture, avec des manips lors de l'ecriture, et un renvoi direct de la valeur lors de la lecture.
De plus, y'a un truc louche dans votre proposition :
Public WriteOnly Property prop(ByVal param As Int32) As String Set(ByVal value As String)
End Set End Property
on demande un 1er param en Int32, et un 2e en string ?
-- Bill2
Proverbe à la con : Evitez la langue de bois, ça laisse des échardes
Fred wrote:
Avez-vu mon message et la solution proposée ?
Oui, elle ne répond pas à la question. Relisez attentivement la
question.
au contraire, elle répond parfaitement !
J'ai proposé un prop en lecture écriture, avec des manips lors de
l'ecriture, et un renvoi direct de la valeur lors de la lecture.
De plus, y'a un truc louche dans votre proposition :
Public WriteOnly Property prop(ByVal param As Int32) As String
Set(ByVal value As String)
End Set
End Property
on demande un 1er param en Int32, et un 2e en string ?
--
Bill2
Proverbe à la con : Evitez la langue de bois, ça laisse des échardes
Oui, elle ne répond pas à la question. Relisez attentivement la question.
au contraire, elle répond parfaitement ! J'ai proposé un prop en lecture écriture, avec des manips lors de l'ecriture, et un renvoi direct de la valeur lors de la lecture.
De plus, y'a un truc louche dans votre proposition :
Public WriteOnly Property prop(ByVal param As Int32) As String Set(ByVal value As String)
End Set End Property
on demande un 1er param en Int32, et un 2e en string ?
-- Bill2
Proverbe à la con : Evitez la langue de bois, ça laisse des échardes
Fred
Dans : news:, Bill2 disait :
Fred wrote:
Avez-vu mon message et la solution proposée ?
Oui, elle ne répond pas à la question. Relisez attentivement la question.
au contraire, elle répond parfaitement !
Si vous le dites.
on demande un 1er param en Int32, et un 2e en string ?
Je cite la question : <citation> En écriture je dois passer un paramètre afin de faire un petit calcul avant de stocker la valeur. </citation>
-- Fred http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Dans : news:uAs0TuqnHHA.4960@TK2MSFTNGP02.phx.gbl,
Bill2 disait :
Fred wrote:
Avez-vu mon message et la solution proposée ?
Oui, elle ne répond pas à la question. Relisez attentivement la
question.
au contraire, elle répond parfaitement !
Si vous le dites.
on demande un 1er param en Int32, et un 2e en string ?
Je cite la question :
<citation>
En écriture je dois passer un paramètre afin de faire un petit calcul
avant de stocker la valeur.
</citation>
--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Oui, elle ne répond pas à la question. Relisez attentivement la question.
au contraire, elle répond parfaitement !
Si vous le dites.
on demande un 1er param en Int32, et un 2e en string ?
Je cite la question : <citation> En écriture je dois passer un paramètre afin de faire un petit calcul avant de stocker la valeur. </citation>
-- Fred http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Bill2
Fred wrote:
Si vous le dites.
on demande un 1er param en Int32, et un 2e en string ?
Je cite la question : <citation> En écriture je dois passer un paramètre afin de faire un petit calcul avant de stocker la valeur. </citation>
et ben, mon Set répond à ca justement ...
Set(ByVal value As Double) 'Traitement sur Value If value < 0 Then value = 0 ElseIf value > 100 Then value = 100 End If _ValeurDeMaProp = value End Set
mon traitement n'est qu'un exemple de calcul, à lui de code ce qu'il voudra ... donc, je réitère ma proposition, en détaillant :
' au niveau de la classe private _ValeurDeMaProp as double ' c'est ici que sera stocker la var à traiter dans la classe
' la propriété Property MaProp() As Double ' le GET, qui ne fait aucun traitement, et se contente de renvoyer la valeur Get MaProp= _ValeurDeMaProp ' ou return _ValeurDeMaProp, ce qui reivne au même .... End Get
' le Set, qui doit prendre un param, et faire un calcul, puis stocker le résultat Set(ByVal value As Double) 'Traitement sur Value If value < 0 Then value = 0 ElseIf value > 100 Then value = 100 End If
' on stocke le résultat du calcul _ValeurDeMaProp = value End Set End Property
j'ai donc bien une seule prop, en lecture/ecriture, avec un traitement au niveau de l'écriture ... -- Bill2
Fred wrote:
Si vous le dites.
on demande un 1er param en Int32, et un 2e en string ?
Je cite la question :
<citation>
En écriture je dois passer un paramètre afin de faire un petit calcul
avant de stocker la valeur.
</citation>
et ben, mon Set répond à ca justement ...
Set(ByVal value As Double)
'Traitement sur Value
If value < 0 Then
value = 0
ElseIf value > 100 Then
value = 100
End If
_ValeurDeMaProp = value
End Set
mon traitement n'est qu'un exemple de calcul, à lui de code ce qu'il voudra
...
donc, je réitère ma proposition, en détaillant :
' au niveau de la classe
private _ValeurDeMaProp as double ' c'est ici que sera stocker la var à
traiter dans la classe
' la propriété
Property MaProp() As Double
' le GET, qui ne fait aucun traitement, et se contente de renvoyer
la valeur
Get
MaProp= _ValeurDeMaProp
' ou return _ValeurDeMaProp, ce qui reivne au même ....
End Get
' le Set, qui doit prendre un param, et faire un calcul, puis
stocker le résultat
Set(ByVal value As Double)
'Traitement sur Value
If value < 0 Then
value = 0
ElseIf value > 100 Then
value = 100
End If
' on stocke le résultat du calcul
_ValeurDeMaProp = value
End Set
End Property
j'ai donc bien une seule prop, en lecture/ecriture, avec un traitement au
niveau de l'écriture ...
--
Bill2
on demande un 1er param en Int32, et un 2e en string ?
Je cite la question : <citation> En écriture je dois passer un paramètre afin de faire un petit calcul avant de stocker la valeur. </citation>
et ben, mon Set répond à ca justement ...
Set(ByVal value As Double) 'Traitement sur Value If value < 0 Then value = 0 ElseIf value > 100 Then value = 100 End If _ValeurDeMaProp = value End Set
mon traitement n'est qu'un exemple de calcul, à lui de code ce qu'il voudra ... donc, je réitère ma proposition, en détaillant :
' au niveau de la classe private _ValeurDeMaProp as double ' c'est ici que sera stocker la var à traiter dans la classe
' la propriété Property MaProp() As Double ' le GET, qui ne fait aucun traitement, et se contente de renvoyer la valeur Get MaProp= _ValeurDeMaProp ' ou return _ValeurDeMaProp, ce qui reivne au même .... End Get
' le Set, qui doit prendre un param, et faire un calcul, puis stocker le résultat Set(ByVal value As Double) 'Traitement sur Value If value < 0 Then value = 0 ElseIf value > 100 Then value = 100 End If
' on stocke le résultat du calcul _ValeurDeMaProp = value End Set End Property
j'ai donc bien une seule prop, en lecture/ecriture, avec un traitement au niveau de l'écriture ... -- Bill2
Fred
Dans : news:%, Bill2 disait :
<citation> En écriture je dois passer un paramètre afin de faire un petit calcul avant de stocker la valeur. </citation>
et ben, mon Set répond à ca justement ...
Je crois comprendre que Thierry veut écrire : obj.Prop(param) = valeur
et en lecture simplement écrire : valeur = obj.Prop plutôt que valeur = obj.Prop(paramInutile)
Une propriété paramétrée quoi. Rien de très complexe en somme. Avez-vous compris ce que j'ai compris de la question ? Je ne dis pas que c'est *certainement* cela. Mais simplement ce que sa formulation laisse entendre.
-- Fred http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Dans : news:%23f2WRornHHA.3264@TK2MSFTNGP04.phx.gbl,
Bill2 disait :
<citation>
En écriture je dois passer un paramètre afin de faire un petit calcul
avant de stocker la valeur.
</citation>
et ben, mon Set répond à ca justement ...
Je crois comprendre que Thierry veut écrire :
obj.Prop(param) = valeur
et en lecture simplement écrire :
valeur = obj.Prop
plutôt que
valeur = obj.Prop(paramInutile)
Une propriété paramétrée quoi. Rien de très complexe en somme.
Avez-vous compris ce que j'ai compris de la question ? Je ne dis pas que
c'est *certainement* cela. Mais simplement ce que sa formulation laisse
entendre.
--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
<citation> En écriture je dois passer un paramètre afin de faire un petit calcul avant de stocker la valeur. </citation>
et ben, mon Set répond à ca justement ...
Je crois comprendre que Thierry veut écrire : obj.Prop(param) = valeur
et en lecture simplement écrire : valeur = obj.Prop plutôt que valeur = obj.Prop(paramInutile)
Une propriété paramétrée quoi. Rien de très complexe en somme. Avez-vous compris ce que j'ai compris de la question ? Je ne dis pas que c'est *certainement* cela. Mais simplement ce que sa formulation laisse entendre.
-- Fred http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Bill2
Fred wrote:
Dans : news:%,
Je crois comprendre que Thierry veut écrire : obj.Prop(param) = valeur
et en lecture simplement écrire : valeur = obj.Prop plutôt que valeur = obj.Prop(paramInutile)
Une propriété paramétrée quoi. Rien de très complexe en somme. Avez-vous compris ce que j'ai compris de la question ? Je ne dis pas que c'est *certainement* cela. Mais simplement ce que sa formulation laisse entendre.
ben ... c'est exactement le comportement offert par ma proposition ça ...
-- Bill2
Philosophie : Il est préférable d'ouvrir un mail avec virus qu'une lettre avec anthrax.
Fred wrote:
Dans : news:%23f2WRornHHA.3264@TK2MSFTNGP04.phx.gbl,
Je crois comprendre que Thierry veut écrire :
obj.Prop(param) = valeur
et en lecture simplement écrire :
valeur = obj.Prop
plutôt que
valeur = obj.Prop(paramInutile)
Une propriété paramétrée quoi. Rien de très complexe en somme.
Avez-vous compris ce que j'ai compris de la question ? Je ne dis pas
que c'est *certainement* cela. Mais simplement ce que sa formulation
laisse entendre.
ben ... c'est exactement le comportement offert par ma proposition ça ...
--
Bill2
Philosophie : Il est préférable d'ouvrir un mail avec virus qu'une
lettre avec anthrax.
Je crois comprendre que Thierry veut écrire : obj.Prop(param) = valeur
et en lecture simplement écrire : valeur = obj.Prop plutôt que valeur = obj.Prop(paramInutile)
Une propriété paramétrée quoi. Rien de très complexe en somme. Avez-vous compris ce que j'ai compris de la question ? Je ne dis pas que c'est *certainement* cela. Mais simplement ce que sa formulation laisse entendre.
ben ... c'est exactement le comportement offert par ma proposition ça ...
-- Bill2
Philosophie : Il est préférable d'ouvrir un mail avec virus qu'une lettre avec anthrax.
Fred
Dans : news:, Bill2 écrivait :
Fred wrote:
Dans : news:%,
Je crois comprendre que Thierry veut écrire : obj.Prop(param) = valeur
ben ... c'est exactement le comportement offert par ma proposition ça ...
Que nous n'ayons pas interprété la question de la même façon, je peux le comprendre, et même, je m'en félicite. Que vous me disiez que votre code fait ce que j'ai écrit plus haut :
--->>>> obj.Prop(param) = valeur <<<<---
c'en est une autre chose.
Écrivez votre bout de code dans une classe que nous appellerons MaClasse (je reprends votre terminologie afin que cela soit plus clair). Ensuite, essayez ceci :
Dim obj As New MaClasse Dim LeParametreDeThierry As Int32 = 0 'pourquoi pas ? il n'a pas précisé le type Dim LaValeurDeThierry As Double = 719 'ça, c'est d'après votre code
'C'est là que ça devient intéressant obj.MaProp(LeParamètreDeThierry) = LaValeurDeThierry
Qu'est-ce que cela donne ? Ça compile ? Peut-être n'avez-vous pas eu le temps de tester depuis ce matin ?
Donc réitérez autant que vous voudrez votre proposition, je ne l'ai nullement critiquée mais ai simplement proposé une autre approche de la question. Deux propositions différentes pour deux interprétations différentes, cela ne me semble pas toujours inutile.
EOT
-- Fred http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Dans : news:u7DaSwsnHHA.3968@TK2MSFTNGP06.phx.gbl,
Bill2 écrivait :
Fred wrote:
Dans : news:%23f2WRornHHA.3264@TK2MSFTNGP04.phx.gbl,
Je crois comprendre que Thierry veut écrire :
obj.Prop(param) = valeur
ben ... c'est exactement le comportement offert par ma proposition ça
...
Que nous n'ayons pas interprété la question de la même façon, je peux le
comprendre, et même, je m'en félicite.
Que vous me disiez que votre code fait ce que j'ai écrit plus haut :
--->>>> obj.Prop(param) = valeur <<<<---
c'en est une autre chose.
Écrivez votre bout de code dans une classe que nous appellerons MaClasse
(je reprends votre terminologie afin que cela soit plus clair).
Ensuite, essayez ceci :
Dim obj As New MaClasse
Dim LeParametreDeThierry As Int32 = 0 'pourquoi pas ? il n'a pas
précisé le type
Dim LaValeurDeThierry As Double = 719 'ça, c'est d'après votre code
'C'est là que ça devient intéressant
obj.MaProp(LeParamètreDeThierry) = LaValeurDeThierry
Qu'est-ce que cela donne ?
Ça compile ?
Peut-être n'avez-vous pas eu le temps de tester depuis ce matin ?
Donc réitérez autant que vous voudrez votre proposition, je ne l'ai
nullement critiquée mais ai simplement proposé une autre
approche de la question. Deux propositions différentes pour deux
interprétations différentes, cela ne me semble pas toujours inutile.
EOT
--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Je crois comprendre que Thierry veut écrire : obj.Prop(param) = valeur
ben ... c'est exactement le comportement offert par ma proposition ça ...
Que nous n'ayons pas interprété la question de la même façon, je peux le comprendre, et même, je m'en félicite. Que vous me disiez que votre code fait ce que j'ai écrit plus haut :
--->>>> obj.Prop(param) = valeur <<<<---
c'en est une autre chose.
Écrivez votre bout de code dans une classe que nous appellerons MaClasse (je reprends votre terminologie afin que cela soit plus clair). Ensuite, essayez ceci :
Dim obj As New MaClasse Dim LeParametreDeThierry As Int32 = 0 'pourquoi pas ? il n'a pas précisé le type Dim LaValeurDeThierry As Double = 719 'ça, c'est d'après votre code
'C'est là que ça devient intéressant obj.MaProp(LeParamètreDeThierry) = LaValeurDeThierry
Qu'est-ce que cela donne ? Ça compile ? Peut-être n'avez-vous pas eu le temps de tester depuis ce matin ?
Donc réitérez autant que vous voudrez votre proposition, je ne l'ai nullement critiquée mais ai simplement proposé une autre approche de la question. Deux propositions différentes pour deux interprétations différentes, cela ne me semble pas toujours inutile.
EOT
-- Fred http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)