如何传递F#一个字符串并在c中返回结果#

如何传递F#一个字符串并在c中返回结果#,f#,F#,我是SQL开发人员,对F#和C#都是新手。我需要有关如何将字符串传递给下面的f#函数以及如何将结果从f#返回到C#的帮助 项目说明: 我正在使用斯坦福postagger为一个句子添加词性标记。 参考链接,从那里我复制了这段代码。 () 模块文件1 打开java.io 打开java.util 打开edu.stanford.nlp.ling 打开edu.stanford.nlp.tagger.maxent //包含模型的文件夹的路径 设modelsDirectry= __来源(目录)(()+@'..

我是SQL开发人员,对F#和C#都是新手。我需要有关如何将字符串传递给下面的f#函数以及如何将结果从f#返回到C#的帮助

项目说明: 我正在使用斯坦福postagger为一个句子添加词性标记。 参考链接,从那里我复制了这段代码。 ()

模块文件1
打开java.io
打开java.util
打开edu.stanford.nlp.ling
打开edu.stanford.nlp.tagger.maxent
//包含模型的文件夹的路径
设modelsDirectry=
__来源(目录)(()+@'..\stanford-postagger-2013-06-20\models''
//装载位置标记器
设tagger=MaxentTagger(modelsDirectry+'wsj-0-18-bidirectional-NodesSim.tagger')
让tagTexrFromReader(reader:reader)=
让sentances=MaxentTagger.tokenizeText(reader.toArray)()
句子|>Seq.iter(有趣的句子->
让taggedSentence=tagger.TagSession(句子:?>ArrayList)
printfn“%O”(句子.列表字符串(taggedSentence,false))
)
//用于标记的文本
让text=System.Console.ReadLine();
tagTexrFromReader不管是C#还是F#-生成一个函数来获取
字符串
并返回。。。允许 比如说一个
int
,你只需要这样的东西(把它放在一些
MyModule.fs
中):

从C#/.net用

int result = MyNamespace.MyModule.myFun ("Hallo");
我希望这能帮你一点忙

对于您的示例,这将是:

let myFun (text : string) =
   use reader = new StringReader(text)
   tagTexrFromReader reader
正如您将在模块
File1
中看到的那样,您可以使用
var res=Fiel1.myFun(text)调用它

顺便说一句:
use
在那里,因为
StringReader
IDisposable
的,并且当您退出作用域时,使用
use
F#将处理对象


PS:tagTexrFromReader是打字错误吗?

嗨,卡斯滕,谢谢你的快速回复。我尝试在上面的file1模块中编写相同的代码,但最终出错。如果您能为我提供一个适合上述模块文件1的代码,那就太好了。再次感谢您的耐心。有什么错误吗?唯一的神奇之处在于
让myFun输入=输出
——你的模块中有一些类似的东西。我会直接翻译,但我看不出你真正想要回复的是什么对不起,卡斯滕,我应该告诉你我到底需要什么的细节。我需要将变量text123从c#传递到tagTexrFromReader@user3898531。看起来您一开始就不知道如何进行c#/F#互操作。你最好找一篇关于如何做到这一点的博客文章或教程,而不是就此提出问题。也请看谢谢卡斯滕的帮助我理解因为我问的问题属于基本类。。
int result = MyNamespace.MyModule.myFun ("Hallo");
let myFun (text : string) =
   use reader = new StringReader(text)
   tagTexrFromReader reader