如何声明从特定类派生的类型参数?

时间:2017-04-06 13:05:44

标签: f#

如何声明从特定类派生的类型参数?

我正在尝试执行以下操作:

let registerTable (T:EntityData) (client:IEasyMobileServiceClient) =
    client.RegisterTable<T>(); client

但是,这会导致以下错误:

  

错误未定义类型“T”

以下是 RegisterTable 的签名:

abstract member RegisterTable : unit -> unit when 'A :> EntityData

1 个答案:

答案 0 :(得分:2)

鉴于 EntityData 是我的通用需要派生的类型:

let registerTable<'T when 'T :> EntityData> (client:IEasyMobileServiceClient) =
    client.RegisterTable<'T>(); client

来电者可以这样:

registerTable<TodoItem>