Насколько я знаю, Date
в VB - это просто псевдоним для типа DateTime
CLR. Например, этот код:
Public Class Foo
Public Shared Sub Main(args As String())
Dim x As Date = New Date
End Sub
End Class
компилируется в эквивалент:
public class Foo
{
public static void Main(string[] args)
{
DateTime x = new DateTime();
}
}
Таким образом, типы на самом деле не меняются - они просто отображаются как Date
. Я думаю, что это очень похоже на разницу между Int32
и int
в C #. (Могут быть некоторые другие различия, такие как дополнительные методы, предоставляемые через Date
, но значения имеют тот же тип.)