cs_eldim
Messages postés956Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention21 août 2014
-
8 nov. 2006 à 10:16
cs_eldim
Messages postés956Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention21 août 2014
-
8 nov. 2006 à 17:49
Bonjour,
En VB.NET on peut passer des paramètres aux properties. Comment fait on en C# pour faire la même chose ?
car j'ai essayé en faisant de la traduction pur et dure mot à mot mais là ça ne fonctionne pas :
public String Valeur(String P)
{
get
{
return MaFonction(P);
}
set (String Value)
{
MaProcedure(P,Value);
}
}
Pouvez-vous m'aider
-- Pourquoi faire simple quand on peut faire compliquer --
cs_Bidou
Messages postés5486Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 8 nov. 2006 à 14:57
Salut,
L'équivalent exacte n'existe pas en C#.
Soit tu utilises une Property qui fait un get/set d'une valeur (ou un object) soit tu écris une (ou deux) méthode(s) qui permettent de faire un get/set
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 8 nov. 2006 à 12:21
salut,
en C#, le paramètre implicite de set s'appelle value...tu n'a donc pas besoin de le préciser explicitement...d'ailleurs un setter à forcément un et un seul paramètre donc préciser le nom ne sert théoriquement à rien...sauf à VB.net pour ne pas perdre les programmeur VB6...
ShareVB
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_eldim
Messages postés956Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention21 août 20141 8 nov. 2006 à 13:48
Merci pour ta réponse mais en vb on peut faire + sans passer par un tableau et je souhaite trouver l'équivalent en C# (le value n'a rien à voir la dedans) :
exemple
property Truc(sTruc as string, Bidule as Collection, Machin as integer, ...) as string
get
...
end get
set (Value as string)
...
end set
-- Pourquoi faire simple quand on peut faire compliquer --
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 8 nov. 2006 à 16:40
salut,
faire une property avec plusieurs arguments, c'est faire une méthode...une property c'est machin.prop valeur ou v machin.prop...donc une
propriété ne peut avoir qu'UN et UN seul argument : value...
cs_badrbadr
Messages postés475Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention 3 novembre 20081 8 nov. 2006 à 17:12
Je suis du meme avis que ShareVB (mais je suis aussi un parti pris et sans aucune connaissance synatxique en VB :)
De toute façon, en code IL, les propriétés sont transformés en fonctions paramétrées (Préfixé par Get ou Set je pense). Chaque langage a sa manière d'exposer les possibilités offertes par le CLR/IL.
Les propriétés servent juste à respecter les guidlines, éviter les affectations directes et autres tites choses intéressantes (comme dans les interfaces)
Quand vient le moment de passer plusieurs paramètres (outre qu'une simple affectation ou récupération de valeur), je suis d'avis qu'une méthode est la meilleure option. Ça rend en plus le code plus facile à lire.
C'est une simple question d'habitude.
cs_eldim
Messages postés956Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention21 août 20141 8 nov. 2006 à 17:49
les habitudes sont dures à changer... pour moi utiliser c'est property c'un gain de codage non négligeable pour mes class
mais bon les gout et les couleurs...
par contre en IL ça passe bien visiblement mais lorsque je met ça dans une DLL VB et que j'essai de l'utiliser en C# ben il me met deux méthodes distinctes donc c'est bien une carrence à mon sens de C# par rapport à vb.net
merci pour toutes vos interventions
-- Pourquoi faire simple quand on peut faire compliquer --