【问题标题】:How to call VB.NET from F#?如何从 F# 调用 VB.NET?
【发布时间】:2023-04-09 10:30:02
【问题描述】:

在我的程序中,我有一个用于用户界面的 Visual Basic (.NET) 表单, 我将所有用户输入存储到一个名为 Input 的对象中。 鉴于我有 F# 和 VB.NET 项目,如何从 F# 获取 Input 对象 在同一个 Visual Studio 2010 解决方案中?

【问题讨论】:

  • 在VS中的F#中添加对VB项目的引用
  • 如果 UI 是您的 VB.net 项目,那么您希望在 UI 中使用 F# 代码而不是相反的可能性很高 - 无论如何,就像 @JohnPalmer 所说的与任何其他 . VS 中的网络组装 - 你添加了 refrence ;)
  • 没错,我真的应该在VB中使用F#函数。不是反过来。但是 F# 函数需要在 VB 项目中定义一些类型。例如,在这种情况下,F# 需要“InputClass”类型。另一方面,VB 项目需要参考 F# 来获取结果并显示它们。因此,这些是不允许的循环引用。唯一的方法(我知道)是在第三个项目或 DLL 中为两个项目定义所有常见类型。但是对于本应简单的事情来说似乎有点复杂。
  • @N.T.C:你是对的,你的 InputClass 应该存在于 F# 项目中,或者如果你想保留它 VB,在一个单独的 VB 项目中。如果您有两个 VB 项目,情况将是相同的——要么您需要第三个项目用于公共部分,要么将公共部分移动到上游项目。

标签: vb.net visual-studio-2010 user-interface f#


【解决方案1】:

F# Project -> Reference -> AddReference 并选择你的 dll(exe)

F# 代码

打开你的命名空间

使用您的 vb.net 函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多