Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
En Visual Basic, lorsqu'on veut déclarer une propriété dans une classe, voici la syntaxe habituellement utilisée :
Public Class Client
Private interneNom As String
Public Property Nom() As String
Get
Return interneNom
End Get
Set(ByVal value As String)
interneNom = value
End Set
End PropertyPrivate internePrénom As String
Public Property Prénom() As String
Get
Return internePrénom
End Get
Set(ByVal value As String)
internePrénom = value
End Set
End PropertyEnd Class
Bonne nouvelle, à partir de Visual Basic 10, voici que, comme en C#, les "Auto Properties" sont maintenant implémentées ! Le code précédent se résume désormais à :
Public Class Client
Public Property Nom As String
Public Property Prénom As StringEnd Class
Evidemment, à la compilation, le compilateur VB (vbc.exe) va émettre pour vous le code que vous n'avez plus à écrire :
.class public auto ansi Client
extends [mscorlib]System.Object
{
.method public specialname rtspecialname instance void .ctor() cil managed
{
.custom instance void [mscorlib]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor()
.maxstack 8
L_0000: ldarg.0
L_0001: call instance void [mscorlib]System.Object::.ctor()
L_0006: nop
L_0007: nop
L_0008: ret
}.property instance string Nom
{
.get instance string Demos_VB10.Client::get_Nom()
.set instance void Demos_VB10.Client::set_Nom(string)
}.property instance string Prénom
{
.get instance string Demos_VB10.Client::get_Prénom()
.set instance void Demos_VB10.Client::set_Prénom(string)
}.field private string _Nom
{
.custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor()
}.field private string _Prénom
{
.custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor()
}
}
Comments
Anonymous
November 02, 2008
The comment has been removedAnonymous
November 02, 2008
NB. It's also possible to have initializers on the auto-properties: Public Property Noms As New List(Of String) From {"Juliette", "Jacques", "Lucien"} Public Property Etats As IEnumerable(Of String) = {"france", "grande bretagne"} Public Property Size As Integer = 31Anonymous
November 02, 2008
Hi int19h, Is the following link a possible answer your question? http://blogs.msdn.com/vbteam/archive/2008/11/02/vb-2010-unveiled-at-pdc-2008-lisa-feigenbaum.aspxAnonymous
November 04, 2008
Yes, this is just what was needed, thank you!Anonymous
January 04, 2009
c'est tout cool toutes ces ameliorations. J ai pas vu pour la fonction yeld return si t as une info je suis preneur. merci