F#模式与DataGridColumn.Visibility匹配

时间:2010-06-03 17:20:19

标签: .net f# enums pattern-matching

我遇到的情况是我使用模式匹配来确定列的可见性属性。 System.Windows.Visibility有两个字段Visibility.VisibleVisibility.Collapsed。可以enyone告诉我为什么以下代码:

let colItem = myDataGrid.Columns.Item 1
     chkBox.IsChecked <-
          match colItem.Visibility with
               | Visibility.Visible -> new Nullable<bool>(true)
               | Visibility.Collapsed -> new Nullable<bool>(false)

生成以下警告:

  

不完整的模式与此匹配   表达。例如,值   '2uy'可能表示未涵盖的案件   按照模式。

1 个答案:

答案 0 :(得分:7)

理论上,Visibility类型的值可以是Visible或Collapsed以外的值,因为.net枚举允许底层整数类型的任何值作为枚举类型的值(允许ORing枚举等)。