Method SplitFlags
SplitFlags<T>(T, SplitFlagsOptions)
Splits the value into the defined flags that make up the value, plus any remainder (if ExcludeRemainder is not set). Defined flags are returned in ascending order based on the highest bits set.
Declaration
public static IReadOnlyList<T> SplitFlags<T>(this T value, SplitFlagsOptions options = SplitFlagsOptions.None) where T : unmanaged, Enum
Parameters
| Type | Name | Description |
|---|---|---|
| T | value | The value to split. |
| SplitFlagsOptions | options | The options to use for the splitting operation. |
Returns
| Type | Description |
|---|---|
| IReadOnlyList<T> |
Type Parameters
| Name | Description |
|---|---|
| T |
Remarks
If ExcludeRemainder is not set and there is a remainder that cannot be represented by any defined flags then its value
is appended to the end of the resulting list. You can check if the last element is a remainder by calling IsDefined<T>(T) on it. You can
also exclude the remainder or throw an exception if there is a remainder via the options parameter.