Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

haggen

how to eval(objeto + ".propriedade") em VB.NET ?

Recommended Posts

opa, tudo bem pessoal ?

seguinte... to com uma duvida cruel aqui...

 

em javascript, de forma meio relaxada, quando c tem o nome de um objeto no valor de uma string, e quer manusear esse objeto voce escreve:

 

eval(objeto + ".propriedade = 'valor';");

estou certo ? creio eu, que não eh o melhor jeito...

mas naum sei quais outros meios eu tenho...

 

mas agora quero saber isso em VB.NET, eu tenho a mesma situacaum... como faço ?

se souberem, me digam como fazer em javascript tambem XD to doido pra saber !

 

valew gente, flw ! [][]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode utilizar late-binding. Por exemplo, se o objeto em questão está em um form, você poderia fazer algo assim:

 

Dim objeto As String = "Button1"		For Each obj As Object In Me.Controls			If obj.Name = objeto Then				obj.Text = "teste"			End If		Next

Certo? ;)

 

Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

valew cara ! isso serve... brigadaum!mas tipo, teria algum outro modo alem desse ? sei la, se tiver 100 objetos antes doq eu quero ele vai testar um por um =/ e no meu caso, eu to mechendo com ASP.NET... eu peguei a ideia doq voce fez e passei pra mim, funcionou talz... mas queria saber se algum outro meio mesmo =)mais uma vez obrigado, []'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, tem outro jeito, utilizando CallByName:

 

Dim objeto As String = "Button1"		Dim obj As Object = CallByName(Me, objeto, CallType.Get, Nothing)		Dim propriedade As String = "Text"		Dim valor As String = "teste"		CallByName(obj, propriedade, CallType.Set, New Object() {valor})

Onde "Me" no caso ali, é o próprio form. E a visibilidade de "Button1" deve ser Public para que isso funcione.

 

Certo? ;)

 

Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.