N'a pas tout à fait obtenir les éléments suivants from MSDN:Besoin de ClassInterfaceType.None?
ClassInterfaceType.None
Indique qu'aucune interface de classe est générée pour la classe. Si aucune interface n'est implémentée explicitement, la classe peut uniquement fournir un accès en liaison tardive via l'interface
IDispatch
. C'est le réglage recommandé pourClassInterfaceAttribute
. En utilisantClassInterfaceType.None
est le seul moyen d'exposer la fonctionnalité grâce à des interfaces implémentées explicitement par la classe.Est-ce que
[ComVisible(true)]
est un must pour la visibilité COM?
Répondre
Voir this blog post pour l'expanation du premier problème. Le point est que si vous spécifiez ClassInterfaceType.None
une interface supplémentaire est générée et cela peut causer des problèmes de compatibilité binaire si vous modifiez l'ordre des méthodes, changez leurs signatures ou en supprimez certaines. Une meilleure alternative consiste à définir explicitement une interface et à en hériter votre classe en spécifiant ClassInterfaceType.None
.
ComVisible(true)
n'est pas un must pour la visibilité COM. Par défaut, toutes les méthodes publiques des classes publiques et toutes les classes publiques sont visibles COM, toutes les autres entités ne sont pas visibles COM. Si vous avez besoin de modifier cela, vous utilisez l'attribut ComVisible, généralement pour diminuer la quantité de classes COM visibles, car chaque entrée de registre de classe visible COM et les entrées de bibliothèque de type sont générées, ce qui provoque une pollution inutile du registre et gonfle la bibliothèque de types. IMO c'est une bonne idée de marquer explicitement toutes les entités publiques avec ComVisible.
- 1. Besoin de refactoriser?
- 2. Besoin de base de données
- 3. Besoin besoin Allocatable Array en FORTRAN
- 4. Besoin générateur de trafic IPv6
- 5. Besoin Personnalisable Convertisseur de devises
- 6. Vérificateur de liens - besoin d'aide
- 7. Erreur de calcul - besoin d'aide!
- 8. php panier besoin de conseils
- 9. besoin équivalent Wpf de SystemInformation.DragSize
- 10. tableaux de structures besoin de conseils
- 11. Besoin d'aide avec UIText
- 12. besoin JET 4.0 Pilotes
- 13. Besoin d'aide dans Monitor.PulseAll()
- 14. J'ai besoin __closure__
- 15. Besoin d'un conseil CSS
- 16. besoin d'implémenter Compteur C#
- 17. Besoin d'aide avec String.format
- 18. Ruby incapable d'utiliser besoin
- 19. Besoin jGrid avec Json
- 20. Sql Interrogation Besoin d'aide
- 21. Besoin d'aide complexe rejoindre
- 22. Class, Interface, Generics .... besoin de simplification
- 23. Conversion de LPCWSTR avec WideCharToMultiByte. Besoin d'aide
- 24. besoin de créer un fichier .pem
- 25. Besoin d'aide dans l'authentification de la page
- 26. Code C - besoin de clarifier l'efficacité
- 27. Besoin d'exemple de WPF Gradiant Picker
- 28. Besoin de conseils pour ASP.NET Form Builder
- 29. Besoin de% NOTFOUND dans le curseur
- 30. besoin d'un exemple de get et set