Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Events 在f#中创建Event.create?_Events_F# - Fatal编程技术网

Events 在f#中创建Event.create?

Events 在f#中创建Event.create?,events,f#,Events,F#,我正试图从以下内容编译源代码: 这句话怎么说: let (handler, event) = Event.create<EventArgs>() 但是请注意,它仅在描述中提到,在示例中没有提到 此外,没有提及此类create函数 我想它可能是一个旧函数或什么的,但我对F#是新手,所以我看不出应该用什么来替换它。事件。create是一个相当古老的事件API,从MSDN上的内容来看,它是F#2.0之前的。它为您提供了一个触发器函数和一个已发布事件,这两个函数现在都作为Publish和

我正试图从以下内容编译源代码:

这句话怎么说:

 let (handler, event) = Event.create<EventArgs>()
但是请注意,它仅在描述中提到,在示例中没有提到

此外,没有提及此类
create
函数


我想它可能是一个旧函数或什么的,但我对F#是新手,所以我看不出应该用什么来替换它。

事件。create
是一个相当古老的事件API,从MSDN上的内容来看,它是F#2.0之前的。它为您提供了一个触发器函数和一个已发布事件,这两个函数现在都作为
Publish
trigger
类的成员存在

因此,如果您想用“现代”术语实现
create
,它可能看起来有点像这样:

module Event = 
    let create<'T> () = 
        let event = Event<'T>()
        event.Trigger, event.Publish
模块事件=
让我们创建()
event.Trigger,event.Publish

我不建议您普遍使用它,但也许这足以让旧代码恢复生机(正确的方法是将其重构为使用
Publish
Trigger
而不是
create
)。

我猜它已经被
新事件取代了可能文档已经过时了。行应该做什么,为什么有元组模式?事件在F#中相当简单,请参阅以获取快速介绍。(“创建自定义事件”应该是相关的)
module Event = 
    let create<'T> () = 
        let event = Event<'T>()
        event.Trigger, event.Publish