2017-04-06 88 views
0

如何聲明從特定類派生的類型參數?如何聲明從特定類派生的類型參數?

我試圖做到以下幾點:

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

然而,這會導致以下錯誤:

Error The type 'T' is not defined

下面是RegisterTable簽名:

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

回答

2

鑑於EntityData是類型我一般需要從推導:

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

調用者可以是這樣的:

registerTable<TodoItem>