การ references library .NET เข้ามาใช้ใน F#

แรงจูงใจ

ต้องการใช้ library .NET ที่มีอยู่แล้วใน F#

ลงมือทำ: เตรียม library ง่ายๆเตรียมให้ F# เรียกใช้

1. สร้าง projects class Library ใหม่ ตั้งชื่อให้ว่า MyMathModule เขียน code เพื่อคำนวนง่ายๆลงไป บทความนี้ใช้ C# เขียน lib

//นี่คือ code ใน file Calculator.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MyMathModule
{
    public class Calculator
    {
        public double Add(double a, double b)
        {
            return a + b;
        }
    }
}

2. พอ build projects ดังกล่าวแล้วเราจะได้ MyMathModule.dll ซึ่งพร้อมที่จะนำไปใช้งานได้แล้ว

ลงมือทำ: F# เตรียมพร้อมใช้ MyMathModule

1. เข้าไปที่ FunPad (FunPad เป็น program เพื่อไว้ทดสอบ ทดลองคำสั่ง F# ถ้ายังไม่มี load ได้จากที่นี่ FunPad)

2. เข้าไปที่ folder ของ FunPad แล้วสร้าง folder lib หลังจากนั้น copy MyMathModule.dll ที่เราเตรียมไว้ มาวางไว้ที่ folder FunPad\lib นี้ (ที่จริงวางตรงไหนก็ได้ ในตัวอย่างนี้วางที่นี่เพื่อให้ง่ายตอนเรียกใช้)

3. double click ที่ FunPad.exe เพื่อเปิด FunPad ขึ้นมา แล้วพิมพ์ คำสั่งเพื่อ reference lib MyMathModule ของเรา ตามนี้

#r “lib\MyMathModule.dll”;;

FunPad จะแสดงผลลัพย์ที่หน้าจอแบบนี้

–> Referenced ‘…\FunPad\lib\MyMathModule.dll’

ถือว่าใช้งาน lib MyMathModule ได้แล้ว

ลงมือทำ: ใช้งาน lib จาก F# กันได้เลย

เปิด namspace MyMathModule ที่อยู่ใน lib และสร้าง Caculator 1 ตัวเพื่อทดสอบเรียก function Add ตามข้างล่างนี้ครับ

open MyMathModule
let cal = new Calculator()
let addResult = cal.Add(1.0,10.0)
printfn “cal.Add(1,10) = %f” addResult;;

กด Enter แล้ว FunPad จะพิมพ์ผลออกมา แบบนี้ครับ

cal.Add(1,10) = 11.000000


ขอบคุณครับ

Advertisements

#f