Egy korábbi blogomban egy THM számítási függvényt valósítottam meg F#-ban. Korábban csak interaktivan futtattam. Hogyan használhatnám ezt a függvényt C#-os projektben. Az F# nem igazán alkalmas UI programozására, de mint .NET nyelv, referenciát addhatunk saját fejlesztésű projekteinkre egy C# vagy bármilyen más .NET nyelvben írt alkalmazásban.
1. Ehhez hozzunk létre egy F# Library projektet.
2. Definiáljuk a namespace-t.
3. Hozzunk létre egy vagy több osztályt: míg a module statikus osztályok, addig a type dinamikus osztályok létrehozására való. Használhatjuk a láthatósági módosítókat.
namespace FSharp.Bank
module THM =
let private je Ak i m = truncate(Ak/(1.0 + i/100.0)**(m/12.0))
let rec THMSzamitas Ak i m =
match m with
| 0.0 -> 0.0
| _ -> (je Ak i m ) + (THMSzamitas Ak i (m - 1.0) )
4. Buildeljük a projektet.
5. A dll-t hozzáadhatjuk referenciaként egy másik .NET-es projekthez.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;using FSharp.Bank;
namespace THMSzamitas
{
class Program
{
static void Main(string[] args)
{
for (double i = 1; i < 30; i++)
{
Console.WriteLine(String.Format("{0}. {1:c}", i, THM.THMSzamitas(73565d, i, 240)));
}
Console.ReadKey();
}
}
}