Each version of the C# language adds many new features, but most have no impact
on the ExhaustiveMatching.Analyzer
. This section lists which new features in
each version in some way impact exhaustive matching and necessitate a newer
version of the package to support.
NOTE: C# 6 is the oldest version of the language supported by Roslyn Analyzers and consequently the oldest version supported by ExhaustiveMatching.Analyzer
. The features listed here may have been introduced before C# 6, but represent the basic level of support.
switch
StatementsInvalidEnumArgumentException
ArgumentOutOfRangeException
InvalidOperationException
- Pattern Matching
- Declaration Patterns
- Constant Patterns for
null
and enum values
switch
Expressions
- Records
- Type Patterns
- Record Structs