DiscriminatedUnionIEnumerableExtensions.

Match<TUnion, Type1, Type2, Type3, Type4, Type5, Type6, ReturnType>(IEnumerable<TUnion>, Func<Type1, ReturnType>, Func<Type2, ReturnType>, Func<Type3, ReturnType>, Func<Type4, ReturnType>, Func<Type5, ReturnType>, Func<Type6, ReturnType>) Method

Summary

Matches the specific types and uses the given functions to tranform into s ingle returntype.

Syntax

public static IEnumerable<ReturnType> Match<TUnion, Type1, Type2, Type3, Type4, Type5, Type6, ReturnType>(this IEnumerable<TUnion> values, Func<Type1, ReturnType> Function1, Func<Type2, ReturnType> Function2, Func<Type3, ReturnType> Function3, Func<Type4, ReturnType> Function4, Func<Type5, ReturnType> Function5, Func<Type6, ReturnType> Function6) 
    where TUnion : DiscriminatedUnion<Type1, Type2, Type3, Type4, Type5, Type6>

Type Parameters

Name Description
TUnion TUnion
Type1 Type1
Type2 Type2
Type3 Type3
Type4 Type4
Type5 Type5
Type6 Type6
ReturnType the returntype for all functions

Parameters

Name Type Description
values IEnumerable<TUnion> existing Discriminated unions
Function1 Func<Type1, ReturnType> Function to run for Type1
Function2 Func<Type2, ReturnType> Function to run for Type2
Function3 Func<Type3, ReturnType> Function to run for Type3
Function4 Func<Type4, ReturnType> Function to run for Type4
Function5 Func<Type5, ReturnType> Function to run for Type5
Function6 Func<Type6, ReturnType> Function to run for Type6

Return Value

Type Description
IEnumerable<ReturnType>