F# 3.0 CLIMutable特性
如果你曾经用一些设计器支持使用过XAML,那么你将额外地受益于设计器所带来的好处。我已经花费了数周,不用实现任何功能和设计器支持的工作。这里描述了一个案例。默认的构造函数是关键!不幸地是,F#里面的record类型没有一个默认的构造函数,这使绑定变得困难。
现在我们有CTlMutable来解决这个问题。CTlMutable截屏如下:
如果你定义下面的F#代码:
[< CLIMutable > ]
typeR =
{X: int; Y:int }
typeR2 =
{X: int; Y:int }
那么在C#代码里面你能做:
varx =new R();
varx2 =new R(0, 2);
vary =new R2(0, 2);
//var y2 = new R2(); //does not compile
类型R有默认的构造函数,然而,没用CTlMutable修饰的R2没有默认的构造函数。
希望这个3.0功能使你的UI工作更容易点儿。
原文链接:http://apollo13cn.blogspot.com/2012/03/f-30-climutable-attribute.html