微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 C++ 应用程序上使用 C# DLL 的问题

如何解决在 C++ 应用程序上使用 C# DLL 的问题

我一直在使用我为我正在用 C++ 编写的项目提供的文件。使用 CLR(公共语言运行时),我能够引用 DLL 并使用我需要的函数。当我尝试将字符串作为参数传递给上述函数时,问题就出现了。该错误显示函数仅将 System::string ^Foo 作为参数。我已阅读有关此语法的文章,它被确定为 Microsoft 的 C++/CLI 的一部分(因为 DLL 文件不是用 C++ 编写的)。我的一个朋友正在从事类似的项目,仅使用 C#,他能够按预期传递字符串变量,在需要输入的文本后附加一个变量。代码摘录如下所示。

string Foo; //This string would obvIoUsly have something to pass.
Function function1;
function1.Command(Foo); //A function provided by the DLL. This would throw an error as it does not accept the string variable.
function1.Command("loadasset(etc)");  //This is the only kind of parameter it would allow,however,some input would be dynamic or changed via user input,and the values must be changed.

我尝试了一些解决方案,例如在文本后附加字符串,或使用“%s”并添加我希望输入的变量,但都没有成功。任何关于我如何能够传递字符串变量的想法都值得赞赏。我使用的是最新版本的 Visual Studio IDE。

谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。