OVH Cloud OVH Cloud

Appel de code c#

2 réponses
Avatar
Adrien
Bonjour,

Je suis en train de développer une application en .Net, j'ai fait
l'application Windows avec les fenêtres en VB.NET, je souhaiterais maintenant
créer des fonctions de calcul afin de traiter mes infos. Le seul truc c'est
que je souhaiterais les développer en C#. Est-il possible, et comment, d'
appeler ces fonctions c# en vb.net?

Merci d'avance pour la réponse.

2 réponses

Avatar
Patrick Philippot
Bonjour,

Je suis en train de développer une application en .Net, j'ai fait
l'application Windows avec les fenêtres en VB.NET, je souhaiterais
maintenant créer des fonctions de calcul afin de traiter mes infos.
Le seul truc c'est que je souhaiterais les développer en C#. Est-il
possible, et comment, d' appeler ces fonctions c# en vb.net?



Non seulement c'est possible mais .Net a été fait pour permettre ce
genre de choses. Il vous suffit de développer vos classes de calcul dans
un assembly en C# et de référencer cet assemblage depuis votre programme
VB .Net. Point.

Une fois compilé, un assembly ne contient que du MSIL et est donc
(presque) indépendant du langage utilisé. On peut hériter en VB .Net de
classes développées en C#, déboguer sur un programme multilangages,etc.

En fait vous appelez déjà depuis votre programme VB .Net des méthodes de
classes développées en C#: celles de la FCL dont une partie au moins est
développée en C#. Faites vous une différence quelconque?

Le seul point qui peut poser problème c'est quand on utilise des
fonctionnalités propres à un langage et non présentes dans un autre.
L'exemple typique avec la version actuelle de VB .Net, c'est la
surcharge d'opérateurs. Possible en C# mais pas en VB .Net. Il faut donc
prévoir dans la classe C# une méthode équivalente qui pourra être
utilisée en lieu et place de l'opérateur surchargé (ce problème
disparaît avec Whidbey).

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Avatar
Adrien
Merci beaucoup pour la réponse je vais m'y atteler de ce pas.

"Patrick Philippot" a écrit :

Bonjour,

> Je suis en train de développer une application en .Net, j'ai fait
> l'application Windows avec les fenêtres en VB.NET, je souhaiterais
> maintenant créer des fonctions de calcul afin de traiter mes infos.
> Le seul truc c'est que je souhaiterais les développer en C#. Est-il
> possible, et comment, d' appeler ces fonctions c# en vb.net?

Non seulement c'est possible mais .Net a été fait pour permettre ce
genre de choses. Il vous suffit de développer vos classes de calcul dans
un assembly en C# et de référencer cet assemblage depuis votre programme
VB .Net. Point.

Une fois compilé, un assembly ne contient que du MSIL et est donc
(presque) indépendant du langage utilisé. On peut hériter en VB .Net de
classes développées en C#, déboguer sur un programme multilangages,etc.

En fait vous appelez déjà depuis votre programme VB .Net des méthodes de
classes développées en C#: celles de la FCL dont une partie au moins est
développée en C#. Faites vous une différence quelconque?

Le seul point qui peut poser problème c'est quand on utilise des
fonctionnalités propres à un langage et non présentes dans un autre.
L'exemple typique avec la version actuelle de VB .Net, c'est la
surcharge d'opérateurs. Possible en C# mais pas en VB .Net. Il faut donc
prévoir dans la classe C# une méthode équivalente qui pourra être
utilisée en lieu et place de l'opérateur surchargé (ce problème
disparaît avec Whidbey).

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr