J'ai plusieurs services WCF que j'ai importés dans une bibliothèque de classes .Net4. Lorsque le proxy est créé, plusieurs énumérateurs déclarés comme DataContracts sont importés dans le proxy. Par la suite, j'expose plusieurs procédures via COM Interop à utiliser en tant que bibliothèques ActiveX, et j'utilise les énumérateurs importés comme paramètres de ces procédures.
Dans les procédures de ma bibliothèque de classes, je peux exposer avec [ComVisible(true)]
, afin qu'ils puissent être appelés via COM. Cependant, les méthodes qui ont recenseurs en tant que paramètres, lorsque je me enregistre avec regasm.exe, je reçois l'erreur:Faire enum importé de WCF comme visible dans COM Interop
Type library exporter warning processing 'xxxxxx.Method(pEnumerator),yyyyyy'. Warning: Non COM visible value type 'yyyyyy.zzzzzzz.enEnumerator' is being referenced either from the type currently being exported or from one of its base types.
Je sais que cela se produit parce que les agents recenseurs ne sont pas exposés à ComVisible, mais si je mets le nécessaire paramètre, puisqu'ils sont dans le proxy, chaque fois que j'ai rafraîchi le proxy, ils seront écrasés. Y a-t-il de toute façon autour de ça?
Je peux créer mes propres énumérateurs à l'intérieur de la bibliothèque de classes, les exposer avec ComVisible, et faire un switch
pour faire correspondre les énumérateurs importés à mes énumérateurs créés. Mais je voudrais éviter cela.
Tks pour l'aide