Approche alternative à votre P/Invoke habituel !
Utilisez les interfaces C# pour vous lier au code natif - utilisation rapide et facile de l'API C dans le code C#, sur n'importe quelle plateforme. Il est révolu le temps des DllImport
cassés et des solutions de contournement ennuyeuses pour les différents environnements d'exécution.
Entièrement compatible avec Mono, .NET Framework, .NET Core et .NET Standard. Compatible avec le mappage Mono DLL sur toutes les plateformes et tous les environnements d'exécution. Configurable et adaptable.
extern
. Utilisez votre API native comme s'il s'agissait d'objets de première classe.Lisez la documentation ou installez via NuGet et commencez.
Nullable<T>
et string
sans aucun code supplémentaireDéclarez votre interface
public interface IMyNativeLibrary
{
long MyNativeGlobal { get ; set ; }
int MyNativeMultiply ( int a , int b ) ;
void MyOtherNativeFunction ( MyStruct strct , ref MyStruct ? maybeStruct ) ;
}
Activez-le
const string MyLibraryName = "MyLibrary" ;
var activator = new NativeLibraryBuilder ( ) ;
var library = activator . ActivateInterface < IMyNativeLibrary > ( MyLibraryName ) ;
Utilisez-le
library . MyNativeGlobal = 10 ;
var result = library . MyNativeMultiply ( 5 , 5 ) ;
var myStruct = new MyStruct ( ) ;
MyStruct ? myOtherStruct = null ;
library . MyOtherNativeFunction ( myStruct , ref myOtherStruct ) ;
Consultez le démarrage rapide pour plus d’informations.
Obtenez-le sur NuGet !
Si la licence de la bibliothèque ne correspond pas à votre projet ou produit, veuillez nous contacter. Des options de licence personnalisées sont disponibles et nous sommes toujours disposés à trouver quelque chose qui vous convient - qu'il soit modifié, commercial ou autre.
La version publique d'AdvancedDLSupport est sous licence GNU Lesser General Public License, version 3 (LGPLv3). Voir la LICENCE pour plus de détails. Sans le soutien du mouvement open source, il n’aurait jamais existé.