2
Ich habe eine F # Klassenbibliothek als solche:Rückruf von C# F #
namespace FsharpTestSystem
open System
open System.IO
open TCLoggerEntity
open TCIQuoteEntity
type TestCallback() =
member this.LoggerOutput() = Logger.Info("F#")
member this.OnQuote(q : TCQuote) = Console.WriteLine(q.ToString())
eine Referenz dieses Fis Anordnung in eine C# Projekt Hinzufügen, ich habe getestet, dass ich LoggerOutput Fein von C# aufrufen können. Allerdings, wenn ich versuche, C# Ereignisrückruf ausführt in F # haben, bekomme ich einen Fehler in der Zeile unter:
Von C#:
using FsharpTestSystem;
public delegate void QuoteChangeEvent(TCQuote q);
event QuoteChangeEvent OnQuoteChange;
TestCallback fsts = new TestCallback();
api.MAPI.OnQuoteChange += fsts.OnQuote(); // this doesn't work
fsts.LoggerOutput(); // This works fine
Ich schwor ich, dass versucht. Na gut, danke. – Ivan