Il y a eu une question où je travaille à propos de l'utilisation du mot-clé var lors de la conversion du résultat d'Activator.CreateInstance en un type d'interface. Si je comprends var, les paires suivantes sont snippet à peu près identique entre la version var et la version de type explicite:var mot-clé avec Activator.CreateInstance?
// Direct cast
var thing = (IThing)Activator.CreateInstance(Type.GetType(thingType));
IThing thing = (IThing)Activator.CreateInstance(Type.GetType(thingType));
// Casting with as
var thing = Activator.CreateInstance(Type.GetType(thingType)) as IThing;
IThing thing = Activator.CreateInstance(Type.GetType(thingType)) as IThing;
Y a-t-il des différences subtiles qui me manque qui pourrait changer le comportement IntelliSense ou exécution?
Votre dernière phrase implique que vous voyez quelques différences - pouvez-vous être plus précis? (ou est-ce que je lis trop dedans?) – ChrisF
* Je * ne vois pas de différence, mais je discutais les mérites de var avec un collègue et cela est venu. Nous n'étions pas tous sûrs, et je préférerais être sûr que désolé. –