2
У меня есть библиотека # класса F, как, например:Обратный вызов из 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())
Добавление ссылки этого F # сборки в C# проекта, я испытал, что я могу назвать LoggerOutput штраф от C#. Однако, если я пытаюсь иметь C# событие обратного вызова выполняются в F # Я получаю ошибку на линии ниже:
От 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
Я поклялся, что пытался. Хорошо, спасибо. – Ivan