Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W poniższych artykułach przedstawiono różne sposoby wykonywania "natywnej interoperacyjności" na platformie .NET.
Istnieje kilka powodów, dla których warto wywołać kod natywny:
- Systemy operacyjne zawierają dużą liczbę interfejsów API, które nie są obecne w bibliotekach klas zarządzanych. Najlepszym przykładem tego scenariusza jest dostęp do funkcji zarządzania sprzętem lub systemem operacyjnym.
- Komunikacja z innymi składnikami, które mają interfejsy API w stylu C lub mogą tworzyć interfejsy API w stylu C (natywne interfejsy API), takie jak kod Java udostępniany za pośrednictwem interfejsu java native interface (JNI) lub dowolnego innego języka zarządzanego, który może wygenerować składnik macierzysty.
- W systemie Windows większość instalowanego oprogramowania, takiego jak pakiet Pakietu Microsoft Office, rejestruje składniki COM reprezentujące ich programy i umożliwiają deweloperom automatyzowanie ich lub korzystanie z nich. Wymaga to również natywnego współdziałania.
Poprzednia lista nie obejmuje wszystkich potencjalnych sytuacji i scenariuszy, w których deweloper chce/lubi/potrzebuje interfejsu z składnikami natywnymi. Biblioteka klas platformy .NET używa na przykład natywnej obsługi współdziałania, aby zaimplementować pewną liczbę interfejsów API, takich jak obsługa konsoli i manipulowanie nimi, dostęp do systemu plików i inne. Należy jednak pamiętać, że w razie potrzeby istnieje opcja.
Uwaga / Notatka
Większość przykładów w tej sekcji zostanie przedstawiona dla wszystkich trzech obsługiwanych platform .NET Core (Windows, Linux i macOS). Jednak w przypadku niektórych krótkich i ilustracyjnych przykładów pokazano tylko jeden przykład, który używa nazw plików i rozszerzeń systemu Windows (czyli "dll" dla bibliotek). Nie oznacza to, że te funkcje nie są dostępne w systemie Linux lub macOS, zostało to zrobione tylko dla wygody.