Ich stoße auf eine Situation, in der ich den Musterabgleich zur Bestimmung der Sichtbarkeitseigenschaft einer Spalte verwende. System.Windows.Visibility
hat zwei Felder, Visibility.Visible
und Visibility.Collapsed
. Kann enyone mir sagen, warum der folgende Code:F # -Muster, das mit DataGridColumn.Visibility übereinstimmt
let colItem = myDataGrid.Columns.Item 1
chkBox.IsChecked <-
match colItem.Visibility with
| Visibility.Visible -> new Nullable<bool>(true)
| Visibility.Collapsed -> new Nullable<bool>(false)
die follwing Warnung erzeugt:
Spieleunvollständige Muster auf diesem Ausdruck. Zum Beispiel kann der Wert '2uy' einen Fall angeben, der nicht durch die Muster abgedeckt ist.
Rechts, .NET-Enums sind dünne Fassaden über Integer-Typen und können jeden Wert des zugrunde liegenden Integer-Typs annehmen. – Brian
Das ist richtig. Zum Beispiel wird '(LanguagePrimitives.EnumOfValue 2uy: Visibility)' Ihnen einen Wert vom Typ 'Visibility' geben, der weder' Visible' noch 'Collapsed' ist, genau wie der Compiler davor warnt. – kvb