remarks generate example c# vb.net

generate - remarks c#



Equivalente de Visual Basic de comprobaciĆ³n de tipo C# (4)

Hasta donde recuerdo

TypeOf data Is System.Data.DataView

Editar:
Como señaló James Curran, esto funciona si los datos también son un subtipo de System.Data.DataView.

Si desea restringir eso a System.Data.DataView solamente, esto debería funcionar:

data.GetType() Is GetType(System.Data.DataView)

¿Cuál es el equivalente de Visual Basic de la siguiente expresión booleana de C #?

data.GetType() == typeof(System.Data.DataView)

Nota: los data variables se declaran como IEnumerable .


Prueba esto.

GetType(Foo)


Solo pensé en publicar un resumen para beneficio de los programadores de C #:

C # val is SomeType

En VB.NET: TypeOf val Is SomeType

A diferencia de Is , esto solo se puede negar como Not TypeOf val Is SomeType

C # typeof(SomeType)

En VB.NET: GetType(SomeType)

C # val.GetType() == typeof(SomeType)

En VB.NET: val.GetType() = GetType(SomeType)

(aunque también funciona, ver a continuación)

C # val.ReferenceEquals(something)

En VB.NET: val Is something

Se puede negar muy bien: val IsNot something

C # val as SomeType

En VB.NET: TryCast(val, SomeType)

C # (SomeType) val

En VB.NET: DirectCast(val, SomeType)

(excepto cuando los tipos implicados implementan un operador de reparto)


También puede usar TryCast y luego verificar por nada, de esta manera puede usar el tipo de casteo más adelante . Si no necesita hacer eso, no lo haga de esta manera, porque otros son más eficientes.

Mira este ejemplo:

VB:

Dim pnl As Panel = TryCast(c, Panel) If (pnl IsNot Nothing) Then pnl.Visible = False End If

DO#

Panel pnl = c as Panel; if (pnl != null) { pnl.Visible = false; }