超级简单的问题我敢肯定,但我通常不做 F#,所以对语法有点陌生。
如何阅读以下代码片段:
match shape.Fill with
| :? PictureBrush as pb ->
//....
具体来说,我不确定PictureBrush指的是什么。在这个文件的其他任何地方都没有真正提到它
这是类型测试模式。
PictureBrush是一种类型。当属性可分配给该类型时shape.Fill匹配。:? PictureBrushFill
另请注意,as允许将变量绑定为该类型。所以pb将是 type ,但将具有与解析到PictureBrush的完全相同的值。shape.Fill
它的类型比较。就像 C# 中的 typeof(xx) 一样。所以要匹配画笔的类型。