2008-11-26 8 views

Répondre

9

Une légère différence.

Le premier vous permet de faire:

Dim s as ParentType = new InheritedType 

La seconde ne fonctionne pas.

L '"avantage" de ceci est s peut être un certain nombre de types différents liés à ParentType sans exploser au moment de l'exécution.

+0

Ce n'est pas la question posée. – JaredPar

+1

N'est-ce pas? J'ai montré la différence entre les deux et expliqué ce que cela vous permet de faire. – Oli

+0

La question posée, quelle est la différence entre "x = new x". Pas "x = new y". – JaredPar

-3

Je crois que tout ce que vous faites est de lancer quelque chose comme quelque chose.

+0

Il n'y a aucune distribution impliquée dans ce scénario – JaredPar

3

Il n'y a pas de différence. Ces signatures sont identiques en ce qui concerne VB. On a moins de frappe cependant :)

+0

+1 pour avoir répondu à la question posée. –

1

Il n'y a pas de différence.

Vous pouvez voir certains développeurs qui préfèrent

Dim s as something = new something 

sur

Dim s as new something 

Ceci est probablement une emprise sur VB6 (as new en VB6 fait plus que vous penseriez et a des effets secondaires désagréables). C'est l'une des choses qui a été "corrigé" avec Vb.Net

Juste pour réitérer, dans Vb.Net les instructions sont Equivalent, c'est-à-dire que les deux instructions construiront exactement la même IL.

Questions connexes