Conversão - VB.Net para C#
14/02/2012
0
Boa tarde a todos do devmedia!
Mais uma vez venho pedia a ajuda de vcs. Estou migrando um sistema em vb.net para c#.
Existe uma classe que serve para armazenar os parâmetros globais da aplicação e manter na sessão do usuário. Estou com dificuldades para migrar algumas propriedades dessa classe, conforme abaixo:
A propriedade pxvaPropriedade não tem um tipo de retorno definido e é como se fosse uma função que verifica a existência de uma determinada propriedade gravada numa coleção. Ela é chamada no get{} e no set{} de todas as outras propriedades para retornar e setar os valores. Quando tento converter isso para o C#, ele não reconhece a pxvaPropriedade sem um tipo de retorno. Tentei passar como tipo de retorno o tipo object, mas quando faço isso,da erro no set{} de todas as outras propriedades, dizendo que não posso atribuir o valor. Por sua vez, no get{} é preciso converter para o tipo de retorno da propriedade.
Alem disso, quando converto o código da pxvaPropriedade para C#, acontece um erro tanto no get{} quanto no set{} referente a ausencia de ; (ponto e virgula) logo após a chave.
Sei que está meio confuso, mas se alguém puder ajudar, agradeço muito! Estou precisando resolver isso com urgencia!
Qualquer coisa meu e-mail é thomasthbm@yahoo.com.br e meu msn é tho_moreira@hotmail.com
Abaixo um exemplo do codigo da classe, mencionado acima:
Estrutura em VB.NET:
<Serializable()> Public Class bntcluparglobal
Private pxvaItens As System.Collections.Hashtable
Public pxvaTotalPropriedades As Long
Public Property pxvaempresa() As String
Get
Return pxvaPropriedade(pxvaempresa)
End Get
Set(ByVal Value As String)
pxvaPropriedade(pxvaempresa) = Value
End Set
End Property
Public Property pxvalinhasistema() As String
Get
Return pxvaPropriedade(pxvalinhasistema)
End Get
Set(ByVal Value As String)
pxvaPropriedade(pxvalinhasistema) = Value
End Set
End Property
...
Public Property pxvaPropriedade(ByVal axvaNome As String)
Get
Dim vxvanome As String
vxvanome = LCase(axvaNome)
Verifica se a propriedade existe
If Not Me.pxvaItens.Contains(vxvanome) Then
Throw New BntCpUTrErro.BntClUErro(90012, , , , , , BntCpUTrErro.BntClUErro.EnumErroFonte.vbErroAmbiente, BntCpUTrErro.BntClUErro.EnumErroSeveridade.vbErroFatal, axvaNome, ParGlobal & TypeName(Me))
End If
Retorna a propriedade
pxvaPropriedade = Me.pxvaItens(vxvanome)
End Get
Set(ByVal Value)
Dim vxvanome As String
vxvanome = LCase(axvaNome)
Verifica se a propriedade existe
If Not Me.pxvaItens.Contains(vxvanome) Then
Throw New BntCpUTrErro.BntClUErro(90012, , , , , , BntCpUTrErro.BntClUErro.EnumErroFonte.vbErroAmbiente, BntCpUTrErro.BntClUErro.EnumErroSeveridade.vbErroFatal, axvaNome, ParGlobal & TypeName(Me))
End If
Recebe a propriedade
Me.pxvaItens(vxvanome) = Value
End Set
End Property
Mais uma vez venho pedia a ajuda de vcs. Estou migrando um sistema em vb.net para c#.
Existe uma classe que serve para armazenar os parâmetros globais da aplicação e manter na sessão do usuário. Estou com dificuldades para migrar algumas propriedades dessa classe, conforme abaixo:
A propriedade pxvaPropriedade não tem um tipo de retorno definido e é como se fosse uma função que verifica a existência de uma determinada propriedade gravada numa coleção. Ela é chamada no get{} e no set{} de todas as outras propriedades para retornar e setar os valores. Quando tento converter isso para o C#, ele não reconhece a pxvaPropriedade sem um tipo de retorno. Tentei passar como tipo de retorno o tipo object, mas quando faço isso,da erro no set{} de todas as outras propriedades, dizendo que não posso atribuir o valor. Por sua vez, no get{} é preciso converter para o tipo de retorno da propriedade.
Alem disso, quando converto o código da pxvaPropriedade para C#, acontece um erro tanto no get{} quanto no set{} referente a ausencia de ; (ponto e virgula) logo após a chave.
Sei que está meio confuso, mas se alguém puder ajudar, agradeço muito! Estou precisando resolver isso com urgencia!
Qualquer coisa meu e-mail é thomasthbm@yahoo.com.br e meu msn é tho_moreira@hotmail.com
Abaixo um exemplo do codigo da classe, mencionado acima:
Estrutura em VB.NET:
<Serializable()> Public Class bntcluparglobal
Private pxvaItens As System.Collections.Hashtable
Public pxvaTotalPropriedades As Long
Public Property pxvaempresa() As String
Get
Return pxvaPropriedade(pxvaempresa)
End Get
Set(ByVal Value As String)
pxvaPropriedade(pxvaempresa) = Value
End Set
End Property
Public Property pxvalinhasistema() As String
Get
Return pxvaPropriedade(pxvalinhasistema)
End Get
Set(ByVal Value As String)
pxvaPropriedade(pxvalinhasistema) = Value
End Set
End Property
...
Public Property pxvaPropriedade(ByVal axvaNome As String)
Get
Dim vxvanome As String
vxvanome = LCase(axvaNome)
Verifica se a propriedade existe
If Not Me.pxvaItens.Contains(vxvanome) Then
Throw New BntCpUTrErro.BntClUErro(90012, , , , , , BntCpUTrErro.BntClUErro.EnumErroFonte.vbErroAmbiente, BntCpUTrErro.BntClUErro.EnumErroSeveridade.vbErroFatal, axvaNome, ParGlobal & TypeName(Me))
End If
Retorna a propriedade
pxvaPropriedade = Me.pxvaItens(vxvanome)
End Get
Set(ByVal Value)
Dim vxvanome As String
vxvanome = LCase(axvaNome)
Verifica se a propriedade existe
If Not Me.pxvaItens.Contains(vxvanome) Then
Throw New BntCpUTrErro.BntClUErro(90012, , , , , , BntCpUTrErro.BntClUErro.EnumErroFonte.vbErroAmbiente, BntCpUTrErro.BntClUErro.EnumErroSeveridade.vbErroFatal, axvaNome, ParGlobal & TypeName(Me))
End If
Recebe a propriedade
Me.pxvaItens(vxvanome) = Value
End Set
End Property
Thomás Moreira
Curtir tópico
+ 0
Responder
Posts
24/02/2012
Joel Rodrigues
Cara, se tiver como me mandar o código da classe, pq aqui é meio chato de ler.
joelrlneto@gmail.com
joelrlneto@gmail.com
Responder
Clique aqui para fazer login e interagir na Comunidade :)