DiscriminatedUnionIEnumerableExtensions.

Match<Type1, Type2, Type3, Type4, ReturnType>(IEnumerable<DiscriminatedUnion<Type1, Type2, Type3, Type4>>, Func<Type1, ReturnType>, Func<Type2, ReturnType>, Func<Type3, ReturnType>, Func<Type4, ReturnType>) Method

Summary

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

Syntax

public static IEnumerable<ReturnType> Match<Type1, Type2, Type3, Type4, ReturnType>(this IEnumerable<DiscriminatedUnion<Type1, Type2, Type3, Type4>> values, Func<Type1, ReturnType> Function1, Func<Type2, ReturnType> Function2, Func<Type3, ReturnType> Function3, Func<Type4, ReturnType> Function4)

Type Parameters

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

Parameters

Name Type Description
values IEnumerable<DiscriminatedUnion<Type1, Type2, Type3, Type4>> 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

Return Value

Type Description
IEnumerable<ReturnType>