2009-04-10 6 views
3

Je me prépare pour les SCTM 70-536, après avoir lu l'article this. Je ne suis pas sûr à 100% que je comprends le concept de transfert de type. Je trouve les étapes indiquées dans l'article encore plus déroutantes. Quel est le problème si je copie le code source de type à transmettre et le recompiler. Qu'est-ce qui se passe avec la vieille DLL et le client ??Comment expliquez-vous le transfert de type en termes simples?

Répondre

7

Le transfert de type vous permet de déplacer un type entre des assemblages. Donc à l'origine c'est TypeA en AssemblyA. En appliquant le transfert de type, vous pouvez terminer par TypeA dans AssemblyB.

La subtilité est le code qui est déjà compilé ne voit pas le changement - ils demandent type dans AssemblyA, et l'exécution leur donne silencieusement le type de AssemblyB. Ceci est très important si vous avez du code existant.

Cependant; Le nouveau code ne peut pas être recompilé en référençant TypeA sans faire référence à AssemblyB.

Alors:

  • anciens clients ne doivent pas nécessairement être recompilé
  • cependant, vous avez besoin de reconstruire les deux AssemblyA et AssemblyB dans l'exemple ci-dessus
  • nouveau code (ou tout autre code recompilé) doit maintenant référence AssemblyB (le nouveau)
+0

J'ai lu ceci sur un autre site Web. Il semble y avoir certains avantages à l'utiliser. Cependant, un poster a commenté que VB.NET utilise le transfert de type et que c'est un problème majeur si vous faites des calculs financiers). Puisque je n'ai aucun moyen de contacter cet utilisateur, je suis curieux de savoir si vous sauriez pourquoi? – coson

+0

Comme c'est bizarre. Je ne peux penser à aucune relation * directe * entre le transfert de type et les calculs financiers. Je me demande s'il existe une différence subtile dans ce qu'ils signifient ... VB6, par exemple, effectue un type différent de transfert de type sur la façon dont il gère les interfaces COM, etc (lorsque vous ajoutez une méthode), mais encore une fois; Je ne vois pas de relation directe avec les services financiers. –

Questions connexes