J'ai récemment terminé une classe que nous utilisons pour lier l'accès à certains services WCF. Bien sûr, cela signifie que les classes .Net (et toutes leurs propriétés) doivent être visibles par COM. Étant donné que j'utilise VB10 et que la classe Contact a environ 20 propriétés, j'ai utilisé les propriétés d'implémentation automatique. À ma grande surprise, les propriétés n'étaient pas accessibles depuis VBA dans Access. J'ai essayé de marquer les propriétés comme ComVisible (ce que je n'avais pas à faire dans le passé avec les propriétés standard) et cela ne fonctionnait toujours pas. Après avoir changé les propriétés automatiques en propriétés standard, tout a fonctionné.VB10, propriétés implémentées automatiquement et COM
Public Property FirstName As String
Est devenu
Public Property FirstName As String
Get
return _strFirstName
End Get
Set
_strFirstName = value
End Set
End Property
Ma compréhension est que les deux devraient être équivalents. D'après ce que j'ai lu sur MSDN, les propriétés d'implémentation automatique prennent simplement soin de créer le backing field et le getter/setter pour vous et à toutes fins utiles, elles devraient être les mêmes. De toute évidence, ils ne le sont pas, alors quoi d'autre se passe dans les coulisses?
Pour référence (parce qu'il m'a fallu 5 minutes pour trouver), voici l'article MSDN sur les auto-propriétés: http://msdn.microsoft.com/en-us/library/dd293589.aspx –
Je déteste vraiment quand les gens fais ça. Je mentionne même dans mon article que j'ai lu l'article sur MSDN. Cet article est la raison pour laquelle je pose la question. Je suis très conscient du fait qu'il devrait y avoir aucune différence; Cependant, ce n'est pas ce que je veux voir dans une situation réelle dans le monde réel. – mlindegarde
Je le sais. J'ai posté le lien afin que * d'autres * puissent s'y référer. Je suppose que je pourrais avoir édité dans le lien à votre poste. Désolé pour le malentendu. –