6

超级简单的问题我敢肯定,但我通常不做 F#,所以对语法有点陌生。

如何阅读以下代码片段:

        match shape.Fill with
          | :? PictureBrush as pb ->
              //....

具体来说,我不确定PictureBrush指的是什么。在这个文件的其他任何地方都没有真正提到它

4

3 回答 3

9

这是类型测试模式

PictureBrush是一种类型。当属性可分配给该类型时shape.Fill匹配。:? PictureBrushFill

于 2012-07-12T16:19:34.367 回答
3

另请注意,as允许将变量绑定为该类型。所以pb将是 type ,但将具有与解析到PictureBrush的完全相同的值。shape.Fill

于 2012-07-12T23:45:45.273 回答
1

它的类型比较。就像 C# 中的 typeof(xx) 一样。所以要匹配画笔的类型。

于 2012-07-12T16:20:41.640 回答