.net vb.net integer int32

¿Hay alguna diferencia entre Integer e Int32 en VB.NET?



(1)

Funcionalmente, no hay diferencia entre los tipos Integer y System.Int32 . En VB.NET Integer es solo un alias para el tipo System.Int32 .

Sin embargo, los identificadores Int32 y Integer no son completamente iguales. Integer es siempre un alias para System.Int32 y lo entiende el compilador. Int32 embargo, Int32 no está incluido en el compilador y tiene una resolución de nombres normal como cualquier otro tipo. Por lo tanto, es posible que Int32 enlace a un tipo diferente en ciertos casos. Esto es muy raro sin embargo; Nadie debería estar definiendo su propio tipo de Int32 .

Aquí hay un repro concreto que demuestra la diferencia.

Class Int32 End Class Module Module1 Sub Main() Dim local1 As Integer = Nothing Dim local2 As Int32 = Nothing local1 = local2 '' Error!!! End Sub End Module

En este caso, local1 y local2 son en realidad tipos diferentes, porque Int32 enlaza con el tipo definido por el usuario sobre System.Int32 .

En VB.NET, ¿hay alguna diferencia entre Integer e Int32 ?

En caso afirmativo, explíquelo porfavor.