Ora, come programmatore C#, so che i farmaci generici sono fantastici. Tuttavia, quando dilettarsi in qualche VB.NET, ho scoperto che il seguente non causa un errore di compilazione:Generics in VB.NET
Dim instance As List(Of Integer)
instance.Add(True)
Perché è questo? So che non è necessario eseguire il cast in VB.NET, ma avrei pensato che questo uccidesse il motivo principale per usare i generici - digitare safety.
Modifica: Non ho l'opzione strict on, in quanto non si trattava di un vero esercizio di programmazione, solo di aver dato un'occhiata a VB.NET in teoria. È una domanda teorica, poiché mi aspettavo che causasse un errore del compilatore anche con l'opzione strict off, proprio come una caratteristica dei tipi generici.
+1 Ecco la critica originale e migliore della coercizione di tipo malvagio in VB, scritta nel 1995 quando fu introdotta, e ancora rilevante oggi. http://vb.mvps.org/articles/pt199511.pdf – MarkJ