Il est possible d'exporter les fonctions de C# DLL comme dans VS C++?
VS C/C++, vous pouvez utiliser extern "C" __declspec(dllexport) -function declaration-
.
Comment puis-je faire cela de C# dll? Est-il de code C# équivalent au code ci-dessus?
Edit: Plus d'infos
Je suis en train de créer un add in pour Notepad++ et je veux utiliser le C#, mais la façon la plus commune que j'ai vu jusqu'à présent est d'utiliser l'héritage de code C++ avec l'appel ci-dessus pour l'exportation de quelques-unes des fonctions que Notepad++ prévoit d'importer et d'appel. Il y a un exemple d'application à l'aide de C#, mais il faut quand même un chargeur de DLL, ce qui je suppose d'après les commentaires/réponses ci-dessous est le seul moyen pour C#.
Vous devez vous connecter pour publier un commentaire.
Non géré Exportations =>
https://sites.google.com/site/robertgiesecke/Home/uploads/unmanagedexports
DLLExport => https://github.com/3F/DllExport
J'ai vu des gens le faire avant, mais il requis ildasm, l'ajout de la MSIL
.export
directive, puis remontage. Un programme nommédll_tool
pouvez suivre ces étapes pour vous.Si vous voulez construire une en mode mixte DLL natives et géré les exportations, vous devriez être à l'aide de C++/CLI, qui est spécialement conçu à cet effet.
Oui, il est possible d'exporter les fonctions de C# dll de la même façon que le C++ est-il! Vous avez besoin d'un peu d'aide d'un add-in Non managé des Exportations (DllExport pour .Net) qui facilite ce processus, ou à partir d'une méthode similaire comme L'exportation de fonctions en C#/VB.NET code natif.
Veuillez voir Code pour Exporter C# DLL à Metatrader Construire 600+ pour un exemple de travail à l'aide de Robert Giesecke du Projet C# Modèle non géré les Exportations vers l'exportation a C# dll à une application existante (Metatrader) qui a beaucoup de similitude avec le C++.
En outre, vous pouvez trouver Natif et .NET Interopérabilité intéressant, bien que cela est principalement orientée vers l'accès natif code de l'intérieur .NET plutôt que l'inverse.
Non, vous ne pouvez pas le faire dans le même sens que vous ne vous en C et C++.
Mais vous pouvez créer des API COM pour atteindre ce que vous pouvez ensuite utiliser dans le code C et C++.
Voir ces articles