我正在使用的库之一在 C# 中定义了这一点:

public ushort GetParameterSet(string name, out ParameterSet parameterSet)

我正在尝试从 F# 调用它:
let parameterSet = new ParameterSet();
let retVal = currentPanel.GetParameterSet(name, ref parameterSet);

但是,即使 parameterSet 设置为该实例的实例
在 C# 方法中具有有效数据的类,它在 F# 中不会更改。

我在这里缺少什么?

最佳答案

尝试

// let parameterSet = null;
let retval, parameterSet = currentPanel.GetParamterSet(name);
您不应将实例作为 ref 参数传递,因为该方法需要一个 out 参数(在调用时应该是一个未分配的引用,以 out 关键字开头)。

关于c# - 将对象从 F# 传递到将其作为输出参数的 C# 方法不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1273907/

10-10 19:50