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