我想從kernel32.dll導入一些函數,但我想使用不同的名稱。示例功能:函數的別名
[DllImport("kernel32.dll")] private static extern bool ReadProcessMemoryProc64 (...);
private static bool BetterReadableAndWriteableName (...) {
ReadProcessMemoryProc64(...);
}
包裝功能是我實際上不想要的,如果有另一種方式。
你可以做到這一點,但它可能是一個壞主意。您的代碼的下一位讀者將如何知道這些功能是什麼? –
有一些有效的情況。例如,許多Win32 API具有LPVOID/LPARAM/etc參數(例如SendMessage),它們可以根據其他參數採用不同的數據類型。在這種情況下,通常需要創建不同的方法簽名來支持不同的用例。在這種情況下,您必須使用EntryPoint重命名該函數(或者您可以在不同的類中聲明它們以避免名稱衝突,但這並不總是合適的)。 –