xamarin bind'Jsgf'没有实现接口成员'IIterable.Iterator()

时间:2016-12-22 12:47:12

标签: xamarin pocketsphinx-android

我正试图通过此link实现PocketSphinx的新版本 我创建了一个新的绑定项目,并且有编译错误。

错误CS0738'Jsgf'未实现接口成员'IIterable.Iterator()'。 'Jsgf.Iterator()'无法实现'IIterable.Iterator()',因为它没有匹配的返回类型'IIterator'。     PocketSphinxDroid \ PocketSphinxDroid \ obj \ Debug \ generated \ src \ Edu.Cmu.Pocketsphinx.Jsgf.cs 9 Active

我尝试过添加到metatdata.xml文件

<attr path="/api/package[@name='Edu.Cmu.Pocketsphinx']/class[@name='Jsgf']/method[@name='Iterator']" name="managedType">Java.Util.IIterator</attr>

  <attr path="/api/package[@name='Edu.Cmu.Pocketsphinx']/class[@name='Jsgf']/method[@name='Iterator']" name="managedType">Java.Lang.IIterator</attr>

但仍然会收到错误

1 个答案:

答案 0 :(得分:5)

应该是这样的:

<attr path="/api/package[@name='edu.cmu.pocketsphinx']/class[@name='Jsgf']/method[@name='iterator' and count(parameter)=0]" name="managedReturn">Java.Util.IIterator</attr>

你可能也错过了这些:

  <attr path="/api/package[@name='edu.cmu.pocketsphinx']/class[@name='JsgfIterator']/method[@name='next' and count(parameter)=0]" name="managedReturn">Java.Lang.Object</attr>
  <attr path="/api/package[@name='edu.cmu.pocketsphinx']/class[@name='NBestIterator']/method[@name='next' and count(parameter)=0]" name="managedReturn">Java.Lang.Object</attr>
  <attr path="/api/package[@name='edu.cmu.pocketsphinx']/class[@name='NBestList']/method[@name='iterator' and count(parameter)=0]" name="managedReturn">Java.Util.IIterator</attr>
  <attr path="/api/package[@name='edu.cmu.pocketsphinx']/class[@name='NGramModelSet']/method[@name='iterator' and count(parameter)=0]" name="managedReturn">Java.Util.IIterator</attr>
  <attr path="/api/package[@name='edu.cmu.pocketsphinx']/class[@name='NGramModelSetIterator']/method[@name='next' and count(parameter)=0]" name="managedReturn">Java.Lang.Object</attr>
  <attr path="/api/package[@name='edu.cmu.pocketsphinx']/class[@name='SegmentIterator']/method[@name='next' and count(parameter)=0]" name="managedReturn">Java.Lang.Object</attr>
  <attr path="/api/package[@name='edu.cmu.pocketsphinx']/class[@name='SegmentList']/method[@name='iterator' and count(parameter)=0]" name="managedReturn">Java.Util.IIterator</attr>