- 博客(4)
- 收藏
- 关注
翻译 F#3.0自动地实现属性
F#3.0实现了几个新的功能:Automatically Implemented Property(AIP).这简化了在类型定义里面的属性声明,但不仅仅是这些。 基本的AIP是,用更简明的语法,你就能定义一个属性。下面的MyProperty是一个AIP. typeMyType() = class memberval MyProperty = 0 with get, set
2012-05-24 11:41:40 1676
翻译 F# 3.0 CLIMutable特性
如果你曾经用一些设计器支持使用过XAML,那么你将额外地受益于设计器所带来的好处。我已经花费了数周,不用实现任何功能和设计器支持的工作。这里描述了一个案例。默认的构造函数是关键!不幸地是,F#里面的 record类型没有一个默认的构造函数,这使绑定变得困难。 现在我们有CTlMutable来解决这个问题。CTlMutable截屏如下: 如果你定义下面的F#代码: [ ] t
2012-05-24 11:30:36 1610
翻译 F#和C#里面的NULL 值
首先,NULL对于F#类型来说是不允许的值,这在某种意义上是好的,但是由此也带来了麻烦。 第一个需要可能是:忘记所有关于option和NULL的参数,我需要NULL,那是我编程的方式。那么好。你可以使用你允许它为NULL的类型的[]特性。 真正走进F#的人们同意使用option是一个更好的选择。然而,这种限制使F#很难和C#程序交流。例如,你想从C#里面使用F#库。你真的能够禁止C
2012-05-24 11:06:12 2042
原创 模式匹配的类型测试不能识别List<’a>
我在Visual Studio论坛上读过一个很有趣的论坛帖子,内容大致是这样的: 当试图测试一个obj对象是否是一个空的list,我们不能用模式匹配的类型测试来达到目的,具体代码如下: let empt (o: obj) = match owith | :? List as l when l.IsEmpty->true | _ ->false 编译
2012-05-17 10:05:31 1617
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人