Alternativer Ansatz zu Ihrem üblichen P/Invoke!
Verwenden Sie C#-Schnittstellen zur Bindung an nativen Code – schnelle und einfache Nutzung der C-API in C#-Code auf jeder Plattform. Vorbei sind die Zeiten von kaputtem DllImport
und lästigen Workarounds für die verschiedenen Laufzeiten.
Vollständig kompatibel mit Mono, .NET Framework, .NET Core und .NET Standard. Kompatibel mit Mono-DLL-Mapping auf allen Plattformen und Laufzeiten. Konfigurierbar und anpassbar.
extern
. Nutzen Sie Ihre native API, als wären es erstklassige Objekte.Lesen Sie die Dokumente oder installieren Sie sie über NuGet und legen Sie los.
Nullable<T>
und string
ohne zusätzlichen CodeDeklarieren Sie Ihre Schnittstelle
public interface IMyNativeLibrary
{
long MyNativeGlobal { get ; set ; }
int MyNativeMultiply ( int a , int b ) ;
void MyOtherNativeFunction ( MyStruct strct , ref MyStruct ? maybeStruct ) ;
}
Aktivieren Sie es
const string MyLibraryName = "MyLibrary" ;
var activator = new NativeLibraryBuilder ( ) ;
var library = activator . ActivateInterface < IMyNativeLibrary > ( MyLibraryName ) ;
Benutze es
library . MyNativeGlobal = 10 ;
var result = library . MyNativeMultiply ( 5 , 5 ) ;
var myStruct = new MyStruct ( ) ;
MyStruct ? myOtherStruct = null ;
library . MyOtherNativeFunction ( myStruct , ref myOtherStruct ) ;
Weitere Informationen finden Sie im Quickstart.
Holen Sie es sich auf NuGet!
Wenn die Lizenz der Bibliothek nicht zu Ihrem Projekt oder Produkt passt, kontaktieren Sie uns bitte. Es stehen individuelle Lizenzierungsoptionen zur Verfügung, und wir sind immer offen dafür, etwas zu finden, das zu Ihnen passt – sei es modifiziert, kommerziell oder anderweitig.
Die öffentliche Veröffentlichung von AdvancedDLSupport ist unter der GNU Lesser General Public License, Version 3 (LGPLv3) lizenziert. Einzelheiten finden Sie in der LIZENZ. Ohne die Unterstützung der Open-Source-Bewegung hätte es sie nie gegeben.