本文介绍了如何将c#app中的字符串传递给c ++ cli dll中的类ctor?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个包含2个项目的VS2013解决方案。一个是c ++ / cli dll。另一个是c#控制台应用程序。 dll包含一个类,其ctor采用'const WCHAR *'参数。在c#app中,我尝试创建该类的实例。我使用字符串文字作为ctor参数。构建错误是:



'MyLib.MyClass.Myclass(char *)'的最佳重载方法匹配有一些无效的参数



我有2个问题。



1.为什么VS2013认为参数是'char *'而不是'WCHAR *'?



2.如何将c#中的字符串传递给c ++?



这项工作的目的是查看使用c ++ / cli dll是否比使用dllimport / pinvoke更容易。

解决方案

I have a VS2013 solution with 2 projects. One is a c++/cli dll. The other is a c# console app. The dll contains a class whose ctor takes a 'const WCHAR *' parameter. In the c# app I tried to create an instance of the class. I used a string literal for the ctor parameter. The build error is:

The best overloaded method match for 'MyLib.MyClass.Myclass(char*)' has some invalid arguments

I have 2 questions.

1. Why does VS2013 think the parameter is 'char*' instead of 'WCHAR*'?

2. How can I pass a string from c# to c++?

The purpose of this work is to see if using a c++/cli dll is easier than just using dllimport/pinvoke.

解决方案


这篇关于如何将c#app中的字符串传递给c ++ cli dll中的类ctor?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-21 07:41