2012-07-12 32 views
5

Câu hỏi đơn giản, tôi chắc chắn nhưng tôi không làm F # thường là một chút mới với cú pháp.F # - những gì phù hợp với ... với | :? X là x nghĩa là gì?

Làm thế nào để đọc các đoạn mã sau đây:

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

Cụ thể, tôi không chắc chắn những gì PictureBrush đề cập đến. Không có bất kỳ tham chiếu nào đến bất kỳ nơi nào khác trong tệp này

Trả lời

8

Đây là Type Test Pattern.

PictureBrush là một loại. shape.Fill khớp với :? PictureBrush khi thuộc tính Fill được gán cho loại đó.

1

So sánh loại của nó. Giống như typeof (xx) trong C#. Vì vậy, phù hợp với loại PictureBrush.

+3

Tôi nghĩ rằng nó giống như ['is'] (http://msdn.microsoft.com/en-us/library/scekt9xw (v = vs.110) .aspx). – Daniel

2

Cũng lưu ý rằng as cho phép ràng buộc biến là loại đó. Vì vậy, pb sẽ thuộc loại PictureBrush, nhưng sẽ có giá trị chính xác giống như những gì shape.Fill giải quyết.

Các vấn đề liên quan