OVH Cloud OVH Cloud

Interop et surcharge

1 réponse
Avatar
Yaume
Hello,

J'ai un problème avec l'Interop COM. En effet j'ai pu voir dans MSDN que
lorsqu'une fonction est surchargé, dans l'interop un nouveau nom de fonction
est généré par signature différente (ex : MaFonction, MaFonction_2,
MaFonction_3, ...).
Le nom des méthode n'étant pas trés friendly, j'aimerais pouvoir les
spécifier.
1. Je n'ai pas vu d'attribut dans System.Runtime.Interop le permettant
2. Cela est-il possible avec tlbimp/tlbexp. Sachant que le paramètre /name
me semble intéressant mais je n'ai pas trouvé de doc dessus.
3. Doit-on réecrire un proxy complet ?

Quelqu'un a t'il une solution
merci.

1 réponse

Avatar
Paul Bacelar
Pourquoi ne pas exclure de l'interface les méthodes surchargées, pour les
remplacer par des méthodes avec un nom plus user friendly qui appellerait
les directement les méthodes surchargées exclus précédemment ?


Exemple:
class toto{
[ComVisible(true)]
public void titi(int i){
}

[ComVisible(false)]
public void titi(float f){
}

[ComVisible(true)]
public void titif(float f){
titi(f);
}
}
--
Paul Bacelar

"Yaume" wrote in message
news:
Hello,

J'ai un problème avec l'Interop COM. En effet j'ai pu voir dans MSDN que
lorsqu'une fonction est surchargé, dans l'interop un nouveau nom de


fonction
est généré par signature différente (ex : MaFonction, MaFonction_2,
MaFonction_3, ...).
Le nom des méthode n'étant pas trés friendly, j'aimerais pouvoir les
spécifier.
1. Je n'ai pas vu d'attribut dans System.Runtime.Interop le permettant
2. Cela est-il possible avec tlbimp/tlbexp. Sachant que le paramètre /name
me semble intéressant mais je n'ai pas trouvé de doc dessus.
3. Doit-on réecrire un proxy complet ?

Quelqu'un a t'il une solution
merci.