F#cast无效

时间:2014-10-28 11:43:51

标签: 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是会员。我有一个错误:

  

会员&#39;在&#39; IAMSOMETHING时获取&#39; IAMSOMETHING:not struct and   &#39; IAMSOMETHING:&gt;问题&GT; :obj [] - &gt; &#39; IAMSOMETHING当&#39; IAMSOMETHING   :不是结构和&#39; IAMSOMETHING:&gt;问题&#39;没有正确的   用于覆盖相应抽象方法的类型。所需   当&#39; IAMSOMETHING:not struct&gt;时,签名是“&lt;&#39; IAMSOMETHING”。 :obj   [] - &gt; &#39; IAMSOMETHING当&#39; IAMSOMETHING:not struct&#39;。

如何将this.Issues投射到IAMSOMETHING

非常感谢。

1 个答案:

答案 0 :(得分:0)

我认为您需要将“参数”参数声明为obj []而不是obj。该属性必须位于最后一个参数上,并且必须是数组。

请参阅文档MSDN