Aracılığıyla paylaş


Dış işlevler (F#)

Bu konuda yerel kodda işlevleri çağırmak için F# dil desteği açıklanır.

[<DllImport( arguments )>]
extern declaration

Notlar

Önceki sözdiziminde, arguments için sağlanan değişkenleri temsil eden DllImportAttribute özniteliği. İlk bağımsız değişken .dll uzantısı olmadan bu işlevi içeren dll Dosyasının adını temsil eden bir dizedir. Ek bağımsız değişkenler sağlanan ortak özelliklerinden birini DllImportAttribute çağırma kuralı gibi sınıf.

Yerel C++ aşağıdaki verilen işlevi içeren dll sahip olduğunuz varsayılmıştır.

#include <stdio.h>
extern "C" void __declspec(dllexport) HelloWorld()
{
    printf("Hello world, invoked by F#!\n");
}

Bu işlev F# aşağıdaki kodu kullanarak arayabileceğiniz.

open System.Runtime.InteropServices

module InteropWithNative =
    [<DllImport(@"C:\bin\nativedll", CallingConvention = CallingConvention.Cdecl)>]
    extern void HelloWorld()

InteropWithNative.HelloWorld()

Yerel kod ile birlikte çalışabilirlik olarak anılacaktır platform çağırma ve clr özelliğidir. Daha fazla bilgi için bkz. Yönetilmeyen kod ile birlikte çalışma. Bu bölümdeki bilgiler, F# için geçerlidir.

Ayrıca bkz.

Başvuru

İşlevler (F#)