超級簡單的問題我敢肯定,但我通常不會做F#,所以對語法有點新鮮。F# - 什麼與...匹配:? X as x是什麼意思?
我如何看下面的代碼片段:
match shape.Fill with
| :? PictureBrush as pb ->
//....
具體來說,我不知道什麼PictureBrush
指。在這個文件中沒有任何其他地方提及它
超級簡單的問題我敢肯定,但我通常不會做F#,所以對語法有點新鮮。F# - 什麼與...匹配:? X as x是什麼意思?
我如何看下面的代碼片段:
match shape.Fill with
| :? PictureBrush as pb ->
//....
具體來說,我不知道什麼PictureBrush
指。在這個文件中沒有任何其他地方提及它
PictureBrush
是一種類型。 shape.Fill
匹配:? PictureBrush
當Fill
屬性可分配給該類型。
它是一個類型比較。像C#中的typeof(xx)一樣。所以匹配PictureBrush的類型。
另請注意,as
允許將變量綁定爲該類型。所以pb
將是PictureBrush
類型,但將具有與shape.Fill
解析爲完全相同的值。
我認爲它更像['is'](http://msdn.microsoft.com/en-us/library/scekt9xw(v = vs.110).aspx)。 – Daniel 2012-07-12 19:59:33