2012-07-12 1 views
5

아주 간단한 질문 틀림없이 F #을 쓰지 않는다. 내가 PictureBrush가 참조 무엇인지 확실하지 않다, 특히F # - 무엇이 일치합니까? :? x는 x를 의미합니까?

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

:

가 할 방법은 다음 코드 조각을 참조하십시오. 이 파일의 다른 곳에서는 실제로 어떤 참조도 없습니다.

답변

8

이것은 Type Test Pattern입니다.

PictureBrush은 유형입니다. Fill 속성이 해당 유형에 할당 가능한 경우 shape.Fill:? PictureBrush과 일치합니다.

1

그 유형 비교. C#에서 typeof (xx)와 같습니다. 그래서 PictureBrush 유형에 일치하십시오.

+3

나는 ['is'] (http://msdn.microsoft.com/en-us/library/scekt9xw (v = vs.110) .aspx)와 더 비슷하다고 생각합니다. – Daniel

2

또한 as은 해당 유형의 변수를 바인딩 할 수 있습니다. 따라서 pbPictureBrush 유형이 되겠지만 정확히 shape.Fill과 동일한 값을 갖게됩니다.

관련 문제