簡體   English   中英

如何在泛型函數中定義 F# 泛型函數參數?

[英]How to define F# generic function argument in a generic function?

let getLogicalWithDoubleLevelElement<'E when 'E :> DoubleLevelElement>
    (logicalModifier : InletPosition * OutletPosition -> Logical)
    (logical : Logical) =

我需要logicalModifier是泛型函數,類型與getLogicalWithDoubleLevelElement類型參數相同。

如何定義?

如果您需要將顯式多態函數作為參數傳遞,那么在 F# 中執行此操作的唯一方法是使用具有泛型方法的新類型:

type LogicalModifier =
    abstract MakeLogical<'E when 'E :> DoubleLevelElement> : InletPosition * OutletPosition -> Logical

let getLogicalWithDoubleLevelElement<'E when 'E :> DoubleLevelElement>
    (logicalModifier : LogicalModifier)
    (logical : Logical) = ... logicalModifier.MakeLogical<'E> ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM