我需要从C++转换为C#的代码行:

void GetAnalysisModeName( ON_wString& name ) const;

我尝试过:
public override void GetAnalysisModeName(string name){}

但是它告诉我返回类型必须是字符串。

最佳答案

直接转换为:

public void GetAnalysisModeName(ref string name)
{
}

但是看起来您也在尝试覆盖C#类中的某些内容。

从消息的返回类型必须是字符串的判断来看,我想说您正在重写的方法的签名与您发布的C++方法的签名不匹配。

编辑

这实际上是一种误解。我仔细检查了Rhino API。您正在使用.NET SDK。您的C++示例使用C++ SDK。这两个SDK具有不同的签名。为了正确覆盖.NET版本,您需要:
public string GetAnalysisModeName(){ }

我建议您下载。 NET SDK Documentation for Rhino,以便您将其作为引用。它还将为您简要介绍该方法在实现时应该做什么。

10-08 09:25