F# 列举受歧视的工会

F# 列举受歧视的工会,f#,F#,我已经读过了他的答案 我喜欢建议的解决方案: 但是,我不知道如何编写一个函数,在这个函数中,我会将受歧视的并集作为参数传递 let testDisUnion a = SimpleUnionCaseInfoReflection.AllCases<a> |> Seq.iter (fun (_, instance) -> printfn "name: %s" instance) 让testDisUnion a= SimpleUnionCaseinfolect

我已经读过了他的答案

我喜欢建议的解决方案:

但是,我不知道如何编写一个函数,在这个函数中,我会将受歧视的并集作为参数传递

let testDisUnion a =
    SimpleUnionCaseInfoReflection.AllCases<a> 
    |> Seq.iter (fun (_, instance) -> printfn "name: %s" instance)
让testDisUnion a=
SimpleUnionCaseinfolection.AllCases
|>Seq.iter(fun(u,实例)->printfn“name:%s”实例)

谢谢

这是如何使用dumetrulo建议的类型参数:

let testDisUnion<'a> =
    SimpleUnionCaseInfoReflection.AllCases<'a> 
    |> Seq.iter (fun (_, instance) -> printfn "name: %A" instance)

testDisUnion<MyType>
//name: A
//name: B

type MyType = A | B
让testDisUnion
|>Seq.iter(fun(u,实例)->printfn“名称:%A”实例)
睾丸不团结
//姓名:A
//姓名:B
类型MyType=A | B

类型参数
如果要传递类型本身(与实例相反),请使用尖括号中的类型参数:
lettestDisUnion@dumetrulo谢谢:)