Foros del Web » Programación para mayores de 30 ;) » .NET »

De VB a c#

Estas en el tema de De VB a c# en el foro de .NET en Foros del Web. Tengo un pequeño problema con los valores que utiliza el VB y el c# y no acabo de ver bien el pasar de uno a ...
  #1 (permalink)  
Antiguo 04/12/2008, 11:30
 
Fecha de Ingreso: mayo-2008
Mensajes: 30
Antigüedad: 15 años, 11 meses
Puntos: 0
De VB a c#

Tengo un pequeño problema con los valores que utiliza el VB y el c# y no acabo de ver bien el pasar de uno a otro, seria correcto de esta manera?

VB:

If XML.ChildNodes(1).ChildNodes(a).Attributes("visibl e").Value <> 0 Then
TV.Nodes.Add(TN)
End If

If Not XML.ChildNodes(1).ChildNodes(a).Attributes("select ed") Is Nothing Then
TreeSelectedNode = TN
End If


c#:

if (XML.ChildNodes[1].ChildNodes[a].Attributes["visible"].Value != "false" )
{
TV.Nodes.Add(TN);
}
if (XML.ChildNodes[1].ChildNodes[a].Attributes["selected"] == null)
{
TreeSelectedNodes = TN;
}


Gracias!
  #2 (permalink)  
Antiguo 04/12/2008, 12:31
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 18 años, 9 meses
Puntos: 50
Respuesta: De VB a c#

En el caso del primer if tendría que ser != 0 también ya que estas comparando en VB que sea diferente de 0 y en el que tienes de C# estas comparando que sea diferente a una cadena de texto que contenga las letras "false"

En el caso del segundo tendría que ser != null por que en el caso de visual basic le estas indicando al if que tu comparación no sea nula
__________________
Mejoremos nuestro país, ayudemos al planeta... próximamente.
  #3 (permalink)  
Antiguo 05/12/2008, 02:15
 
Fecha de Ingreso: mayo-2008
Mensajes: 30
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: De VB a c#

Gracias, pero sigo teniendo un problema en el primer if, si le digo que sea !=0 me lo subraya con error diciendo que el operador != no se puede aplicar a operadores del tipo string , int.

Por eso mi primera opción era poner != "false", no estoy seguro si en visual el valor del visible se guarda en 0 y 1 y en c# en true, false.

Pero muchas gracias en el segundo if me ha servido.
  #4 (permalink)  
Antiguo 05/12/2008, 04:09
 
Fecha de Ingreso: mayo-2008
Mensajes: 30
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: De VB a c#

Si tambien podeis ayudarme con este otro:

CType(Me.Controls(TN.Tag), Panel).Visible = True

No se como pasarlo a C# he visto que se puede hacer conversion directa pero no se como.

intento hacer un:

this.controls _control = new this.controls(TN.Tag);

pero bueno.. no acaba de funcionar. si podeis echarme una mano!

Gracias
  #5 (permalink)  
Antiguo 05/12/2008, 09:39
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 18 años, 9 meses
Puntos: 50
Respuesta: De VB a c#

Que valor contienes aquí:

Código:
(XML.ChildNodes[1].ChildNodes[a].Attributes["visible"].Value

supongo que en tu linea esta:

Código:
CType(Me.Controls(TN.Tag), Panel).Visible = True
quieres convertir el TN.Tag en un panel para volverlo visible, podrías hacer un cast, pero no se si sea la mejor opción o te mande un error, puedes hacer lo siguiente:

((Panel)TN.Tag).Visible = true;

o si no obten su tipo y guardalo en una variable para posteriormente sea asignado:
__________________
Mejoremos nuestro país, ayudemos al planeta... próximamente.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:16.