2014-10-28 32 views
0

我有一個方法:F#投無效

member this.Get<'IAMSOMETHING when 'IAMSOMETHING : not struct>([<ParamArray>] parameters:obj[]) : 'IAMSOMETHING= 
     if typeof<'IAMSOMETHING> = typeof<IProvideAbilities> then 
     this._issues :?> 'IAMSOMETHING 
     else 
     raise(System.NotImplementedException()) 

this.Issues是其成員。我有一個錯誤:

The member 'Get<'IAMSOMETHING when 'IAMSOMETHING : not struct and 'IAMSOMETHING :> Issues> : obj [] -> 'IAMSOMETHING when 'IAMSOMETHING : not struct and 'IAMSOMETHING :> Issues' does not have the correct type to override the corresponding abstract method. The required signature is 'Get<'IAMSOMETHING when 'IAMSOMETHING : not struct> : obj [] -> 'IAMSOMETHING when 'IAMSOMETHING : not struct'.

我怎麼能投this.IssuesIAMSOMETHING

非常感謝。

+1

請學會格式化你的問題,正確的 - 這是不可讀的 – Carsten 2014-10-28 11:48:57

+0

還提供了爲了再現您的錯誤,請充分最少的代碼。 – Gustavo 2014-10-28 12:06:58

+0

很難回答,當我們不知道這個._issues字段的類型 – Petr 2014-10-28 12:12:20

回答

0

我認爲你需要聲明你的「參數」參數爲obj []而不是obj。該屬性必須位於最後一個參數上,並且必須是一個數組。

查看文檔MSDN

+0

對不起,這是一個打字錯誤。它是obj []而不是obj – cecpap 2014-10-29 13:05:19