Me encuentro con una situación en la que estoy usando concordancia de patrón para determinar la propiedad de visibilidad de una columna. System.Windows.Visibility
tiene dos campos, Visibility.Visible
y Visibility.Collapsed
. Enyone puede decirme por qué el siguiente código:Coincidencia de patrón F # con DataGridColumn.Visibility
let colItem = myDataGrid.Columns.Item 1
chkBox.IsChecked <-
match colItem.Visibility with
| Visibility.Visible -> new Nullable<bool>(true)
| Visibility.Collapsed -> new Nullable<bool>(false)
genera la advertencia siguientes aparatos:
patrón incompleto coincide en este expresión. Por ejemplo, el valor '2uy' puede indicar un caso no cubierto por los patrones.
Derecha, las enumeraciones .NET son fachadas delgadas sobre tipos enteros, y pueden tomar cualquier valor del tipo entero subyacente. – Brian
Esto es correcto. Por ejemplo, '(LanguagePrimitives.EnumOfValue 2uy: Visibility)' le dará un valor de tipo 'Visibility' que no es' Visible' ni 'Collapsed', tal como lo advierte el compilador. – kvb