typeof() in c# != TypeOf in VB.NET

by robert Sat, October 31 2009 20:54
     
  • C#: typeof(someType) gibt den System.Type zurück
  • VB.NET: TypeOf someType IS Integer gibt ein Boolean zurück

Das Equivalent zu typeof() in VB.NET ist:

GetType(Foo)

Es hat ein wenig gedauert bis ich verstanden habe das die Beispiele auf der Autofac VB.NET Dokumentationsseite nicht korrekt sind…

Dim builder As Autofac.ContainerBuilder = New Autofac.ContainerBuilder()
builder.Register(TypeOf(Car)).As(TypeOf(IVehicle))
Dim container As Autofac.Container = builder.Build()

… kann natürlich nicht funktieren!

Es muß sein:

Dim builder As Autofac.ContainerBuilder = New Autofac.ContainerBuilder()
builder.Register(GetType(Car)).As(GetType(IVehicle))
Dim container As Autofac.Container = builder.Build()

Tags:

VB.NET