C# OU VB.NET
Desde o .Net 1.1 eu trabalho exclusivamente com C#, sendo que trabalhei com VB.Net na época do .Net 1.0 até um pouco durante o 1.1
Eu entendo melhor de C# do que de VB.Net apenas pela prática, não tenho dificuldade nenhuma com as duas linguagens, e não sei se não entendi o que você disse ou você não entendeu o que eu disse, então vou tentar explicar, quando você postou isso:
Me deu a entender que você está dizendo que no VB.Net não existe equivalente direto daquela linha de código do C#, tendo que fazer o Get e o Set manualmente, enquanto no C# não se precisa fazer ele
Então eu dei o exemplo da propriedade automática do VB.Net, e disse que ela faz exatamente o mesmo que esta linha do C#
O que acho que você não entendeu é que isso daqui:
Essa linha acima é um Get e Set exatamente da mesma forma que
Os dois geram códigos praticamente identicos no nivel do IL, se você sabe como funcionam os getters e setters você sabe que não existe mágica, esse código acima no C# quando compilado vira um código equivalente a esse
E quando digo que ele vira um código equivalente a esse não digo apenas que ele age dessa forma, digo que o compilador vai gerar o IL que faz exatamente isso da forma como está ali como se você tivesse digitado esse código
Com o único detalhe que o nome gerado para o campo que guarda o valor no VB é sempre o mesmo nome da propriedade com um underline como prefixo, já no C# ele é um nome especial que não se pode criar diretamente com C#, em vez de _NomeDaPorpriedade o campo seria chamado algo do tipo [ô]<NomeDaPropriedade>k_BackingField[ô]
Eu entendo melhor de C# do que de VB.Net apenas pela prática, não tenho dificuldade nenhuma com as duas linguagens, e não sei se não entendi o que você disse ou você não entendeu o que eu disse, então vou tentar explicar, quando você postou isso:
Citação:
VB.NET
Private str_intIDBaseGeneral As Integer
Public Property intIDBaseGeneral() As Integer
Get
Return str_intIDBaseGeneral
End Get
Set
str_intIDBaseGeneral = Value
End Set
End Property
C#
public int intIDBaseGeneral { get; set; }
Olhou a diferênça de quantidade de código e linhas...................
Me deu a entender que você está dizendo que no VB.Net não existe equivalente direto daquela linha de código do C#, tendo que fazer o Get e o Set manualmente, enquanto no C# não se precisa fazer ele
Então eu dei o exemplo da propriedade automática do VB.Net, e disse que ela faz exatamente o mesmo que esta linha do C#
O que acho que você não entendeu é que isso daqui:
Public Property NomeDaPropriedade As String
Essa linha acima é um Get e Set exatamente da mesma forma que
public string NomeDaPropriedade {get; set;}
Os dois geram códigos praticamente identicos no nivel do IL, se você sabe como funcionam os getters e setters você sabe que não existe mágica, esse código acima no C# quando compilado vira um código equivalente a esse
private string _NomeDaPropriedade;
public string NomeDaPropriedade
{
get { return _NomeDaPropriedade; }
set { _NomeDaPropriedade = value; }
}
E quando digo que ele vira um código equivalente a esse não digo apenas que ele age dessa forma, digo que o compilador vai gerar o IL que faz exatamente isso da forma como está ali como se você tivesse digitado esse código
Com o único detalhe que o nome gerado para o campo que guarda o valor no VB é sempre o mesmo nome da propriedade com um underline como prefixo, já no C# ele é um nome especial que não se pode criar diretamente com C#, em vez de _NomeDaPorpriedade o campo seria chamado algo do tipo [ô]<NomeDaPropriedade>k_BackingField[ô]
Tópico encerrado , respostas não são mais permitidas