Bonjour,
J'écris une dll pour l'utiliser (entre autre) sous Excel en VBA.
J'ai intégrer la ligne :
<ClassInterface(ClassInterfaceType.AutoDual), ComVisible(True)> _
Avant chaque déclaraation de mes classes pour activer l'intellisense sous Excel. Jusque là tout fonctionne (j'ai activé l'inter Op... et regasm), sauf que en plus de mes propriétés et méthodes, j'ai également 3 méthodes supplémentaires et une propriété qui ne me servent à rien et viennent polluler mon affichage lorsque je code en VBA :
Equals
GetType
GetHashCode
ToString
En recherchant sous google, j'ai lu que ces propriétés sont en fait héritées de la classe Object mais sont souvent complètement inutile pour l'utilisateur final.
Y a-t-il un moyen (dans le code ou le paramétrage de l'interopérabilité entre .net et COM), de masquer ces méthodes et cette propriété pour n'avoir que celle codées dans mes class ?
J'ai eu beau chercher je n'ai rien trouvé à ce sujet (ou plutôt des questions sur comment faire, souvent en anglais et en C, mais sans vraiment de solution et encore moins en VB), pourtant il y a plein d'objets dispo au travers d'autres dll (cf liste dans les références) pour lesquels ces méthodes n'apparaissent pas...
Quelqu'un sait-il comment faire pour les masquer ?
Merci
Philoul
Partager