从f#1.9.6.3到1.9.6.16(2010 beta和2008兼容版本)的过时或更改功能

Shu*_*oUk 9 f# visual-studio-2010

F#和Expert F#的基础可能是用于学习f#的两本最流行的书籍.

两者都是在1.9.2/1.9.3版本发布时编写的.专家手册网站上有一些勘误表,并详细介绍了2008年CTP版本中的一些相对较小的变化.

然而,2010 beta版(以及相应的2008兼容版本)1.9.6.16的CTP版本发生了更大的变化.

由于MSDN文档基本上不存在,特别是在变化方面,数据散布在博客周围,我发现依赖当前的书籍(尤其是专家书籍)越来越难,因为f#landscape已经在它下面转移了太多.

这个问题旨在提供(希望)全面的那些已经发生变化的领域清单和简短的细节/链接,以进一步阅读如何处理这个问题.

作为基础,我添加了一些影响自己的问题. 之前链接的博客文章列出了简洁形式的许多变化,是一个很好的起点,但它并没有涵盖任何方式.

尝试保持每个答案的特定方面是明智的,因为这将使阅读更容易.

在具体的问题形式:

f#从1.9.6.3到1.9.6.16发生了哪些变化,使得先前的示例(特别是死树文档不易于修改)不正确或弃用,以及可采取哪些补救措施.

Shu*_*oUk 1

活动

Expert F# 第 8 章部分:事件和接线

IEvent 已完全弃用。相反,各种函数是在事件上定义的。

不再需要使用 create_HandlerEvent 来创建完全兼容的 .Net 事件(一个可使用的事件,例如 c#),而是使用 CLIEvent属性

如果您通过以下方式创建事件,DelegateEvent<T>那么生成的事件就可以使用,而不需要任何对 FSharp.Core dll 的引用。如果您使用Event<T>,则必须包含对 FSharp 核心的引用才能使用它。