¡Enfoque alternativo a su P/Invoke habitual!
Utilice interfaces de C# para vincularse a código nativo: uso rápido y sencillo de la API de C en código C#, en cualquier plataforma. Atrás quedaron los días en que DllImport
no funcionaba y las molestas soluciones alternativas para los diferentes tiempos de ejecución.
Totalmente compatible con Mono, .NET Framework, .NET Core y .NET Standard. Compatible con mapeo Mono DLL en todas las plataformas y tiempos de ejecución. Configurable y adaptable.
extern
. Utilice su API nativa como si se tratara de objetos de primera.Lea los documentos o instálelos a través de NuGet y comience.
Nullable<T>
y string
sin ningún código adicionalDeclara tu interfaz
public interface IMyNativeLibrary
{
long MyNativeGlobal { get ; set ; }
int MyNativeMultiply ( int a , int b ) ;
void MyOtherNativeFunction ( MyStruct strct , ref MyStruct ? maybeStruct ) ;
}
Actívalo
const string MyLibraryName = "MyLibrary" ;
var activator = new NativeLibraryBuilder ( ) ;
var library = activator . ActivateInterface < IMyNativeLibrary > ( MyLibraryName ) ;
Úselo
library . MyNativeGlobal = 10 ;
var result = library . MyNativeMultiply ( 5 , 5 ) ;
var myStruct = new MyStruct ( ) ;
MyStruct ? myOtherStruct = null ;
library . MyOtherNativeFunction ( myStruct , ref myOtherStruct ) ;
Consulte el inicio rápido para obtener más información.
¡Consíguelo en NuGet!
Si la licencia de la biblioteca no se ajusta a su proyecto o producto, contáctenos. Hay opciones de licencia personalizadas disponibles y siempre estamos abiertos a encontrar algo que se adapte a sus necesidades, ya sea modificado, comercial o de otro tipo.
La versión pública de AdvancedDLSupport tiene la licencia pública general reducida GNU, versión 3 (LGPLv3). Consulte la LICENCIA para obtener más detalles. Sin el apoyo del movimiento de código abierto, nunca habría existido.