Pergunta

Tenho um problema em que o seguinte código funcione.

open System
open System.ComponentModel
open System.Threading

let triggerEvent (state : Object) = Console.Write("Do Something.")

let asyncContext = AsyncOperationManager.CreateOperation(null)
asyncContext.PostOperationCompleted(triggerEvent, null)

Recebo um erro, que o TrigGervent é da unidade do tipo 'A -> em vez de sendPortCallback. SendPortCallback é do objeto de tipo -> unidade. Gostaria de saber por que o TrigGervent é da unidade do tipo 'a -> em vez de objeto ->. Eu declarei explicitamente o estado como objeto e ainda é 'a.

Alguma sugestão? Obrigada.

Foi útil?

Solução

Não sou especialista em encadeamento, mas se o PostOperCompleted espera um sendPortCallback, tente encerrar seu Triggrevent assim: Substitua

asyncContext.PostOperationCompleted(triggerEvent, null)

por

asyncContext.PostOperationCompleted(new SendOrPostCallback(triggerEvent), null)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top