スーパーシンプルな質問私は確信していますが、私はF#を書かないでください。F# - 何が一致しますか? :? Xはxを意味する?
は、どのように私は次のコードの断片を読んでください:
match shape.Fill with
| :? PictureBrush as pb ->
//....
具体的には、私はPictureBrush
が参照するかわからないんだけど。このファイルの他の場所には実際には参照がありません。
スーパーシンプルな質問私は確信していますが、私はF#を書かないでください。F# - 何が一致しますか? :? Xはxを意味する?
は、どのように私は次のコードの断片を読んでください:
match shape.Fill with
| :? PictureBrush as pb ->
//....
具体的には、私はPictureBrush
が参照するかわからないんだけど。このファイルの他の場所には実際には参照がありません。
これはType Test Patternです。
PictureBrush
はタイプです。 Fill
プロパティがそのタイプに割り当て可能な場合、shape.Fill
は:? PictureBrush
と一致します。
これは型の比較です。 C#のtypeof(xx)と似ています。 PictureBrushのタイプに合わせてください。
また、as
は、そのタイプの変数をバインドすることができます。したがってpb
はPictureBrush
のタイプになりますが、解決された値は全く同じ値になります。shape.Fill
私はそれが['is'](http://msdn.microsoft.com/en-us/library/scekt9xw(v = vs.110).aspx)のように思えます。 – Daniel