AdvancedDLSupport
v3.1.0 - Span parameters and calli
常用 P/Invoke 的替代方法!
使用 C# 介面綁定到本機程式碼 - 在任何平台上快速、輕鬆地使用 C# 程式碼中的 C API。損壞的DllImport
和針對不同運行時的煩人的解決方法的日子已經一去不復返了。
與 Mono、.NET Framework、.NET Core 和 .NET Standard 完全相容。與所有平台和運行時上的 Mono DLL 映射相容。可配置且適應性強。
extern
。使用您的本機 API,就像它是一流物件一樣。閱讀文檔,或透過 NuGet 安裝並開始。
Nullable<T>
和string
無需任何額外程式碼聲明你的接口
public interface IMyNativeLibrary
{
long MyNativeGlobal { get ; set ; }
int MyNativeMultiply ( int a , int b ) ;
void MyOtherNativeFunction ( MyStruct strct , ref MyStruct ? maybeStruct ) ;
}
激活它
const string MyLibraryName = "MyLibrary" ;
var activator = new NativeLibraryBuilder ( ) ;
var library = activator . ActivateInterface < IMyNativeLibrary > ( MyLibraryName ) ;
使用它
library . MyNativeGlobal = 10 ;
var result = library . MyNativeMultiply ( 5 , 5 ) ;
var myStruct = new MyStruct ( ) ;
MyStruct ? myOtherStruct = null ;
library . MyOtherNativeFunction ( myStruct , ref myOtherStruct ) ;
請參閱快速入門以了解更多資訊。
在 NuGet 上取得它!
如果庫的許可證不適合您的專案或產品,請與我們聯絡。我們提供自訂授權選項,我們始終願意開發出適合您的產品 - 無論是修改版、商業版還是其他形式。
AdvancedDLSupport 的公開版本已獲得 GNU 寬通用公共授權版本 3 (LGPLv3) 的授權。有關詳細信息,請參閱許可證。如果沒有開源運動的支持,它永遠不會存在。