SumType<T1,T2>.Match<TResult> 方法

定义

运行一个委托,该委托对应于此实例中包含的类型。

public TResult Match<TResult> (Func<T1,TResult> firstMatch, Func<T2,TResult> secondMatch, Func<TResult> defaultMatch = default);
member this.Match : Func<'T1, 'Result> * Func<'T2, 'Result> * Func<'Result> -> 'Result
Public Function Match(Of TResult) (firstMatch As Func(Of T1, TResult), secondMatch As Func(Of T2, TResult), Optional defaultMatch As Func(Of TResult) = Nothing) As TResult

类型参数

TResult

所有委托将返回的类型。

参数

firstMatch
Func<T1,TResult>

用于处理此实例包含的情况的委托 T1

secondMatch
Func<T2,TResult>

用于处理此实例包含的情况的委托 T2

defaultMatch
Func<TResult>

用于处理此实例 uninhabited 的情况的委托。 如果未提供此委托, TResult 将改为返回默认值。

返回

TResult

TResult委托创建的实例,该实例对应于存储在此实例中的当前类型。

适用于