256得票8回答
C++/CLI 中的插入符号('^')是什么意思?

我刚刚发现了这段代码,但几次谷歌搜索都没有解释这个对我来说神秘的语法。 Hashtable^ tempHash = gcnew Hashtable(iterators_); IDictionaryEnumerator^ enumerator = tempHash->GetEnumer...

154得票4回答
将C++/CLI项目从4.0框架更改为VS2010中的另一个框架

自从我将项目升级到Visual Studio 2010项目格式后,我的C++/CLI项目已经针对.NET Framework 4.0。 在C#项目中很容易切换框架版本,但是我不知道如何在C++/CLI项目中执行此操作,我在项目属性页面中没有找到相关设置。

140得票6回答
何时以及为什么要封装一个类?

在 C# 和 C++/CLI 中,关键字 sealed(或 VB 中的 NotInheritable)用于保护类不受任何继承机会的影响(该类将是不可继承的)。我知道面向对象编程的一个特性是继承,我觉得使用 sealed 与这个特性相违背,因为它停止了继承。是否有一个示例展示了使用 sealed...

102得票11回答
C++/CLI将System::String^转换为std::string

能否有人提供一个简单的代码,将以下内容转换为:System::String^ 致, C++的std::string 也就是说,我想要赋值为,String^ originalString; 收件人:std::string newString;

102得票2回答
VC++代码是否可以从VS插件中访问DOM?

Visual Studio IntelliSense for VC++包括“完整”的EDG C++解析器(也被英特尔和其他公司使用)。由于C# Code DOM可供插件访问(如果我说错了,请纠正我),那么C++ Code DOM是否也可以被访问?这能用于在VS环境中分析打开的VC++项目吗?

88得票7回答
如何使我的托管NuGet包支持C++/CLI项目?

我已经制作了一个NuGet包,当我从C#项目中使用它时效果很好。它包含在lib/net40目录中的DLL文件,并且该DLL文件被添加为引用。 现在NuGet支持C++,那么我应该如何修改我的包,以便在C++/CLI项目中可以将DLL文件作为托管引用添加进去呢?我找不到任何解释这个的教程。如果...

83得票6回答
如何初始化并打印一个std::wstring?

我有这段代码:std::string st = "SomeText"; ... std::cout << st; 之前我使用的是string,这个很好用。但现在我的团队想要转移到wstring上。 所以我尝试了:std::wstring st = "SomeText"; ... s...

77得票13回答
为什么C#不允许像C++那样的非成员函数?

C#不允许编写非成员函数,每个方法都应该是类的一部分。我曾认为这是所有CLI语言的限制。但我错了,我发现C++/CLI支持非成员函数。当编译时,编译器会将该方法作为某个无名类的成员。 以下是C++/CLI标准说明: [注意:CLI将非成员函数视为某个无名类的成员;但在C++/CLI源代码中,...

70得票3回答
什么是gcnew?

我偶然发现了这段代码,但我太自豪了,不想去问作者它的含义。 Hashtable^ tempHash = gcnew Hashtable(iterators_); IDictionaryEnumerator^ enumerator = tempHash->GetEnumerator()...

67得票4回答
如何从C#调用C++/CLI?

我有一个用C++实现的类,负责程序的算术计算,还有一个使用WPF的接口。我使用C#处理输入,但如何使用我的C++类呢? 我看到一些关于创建托管C++包装类以与之交互的评论,但我不知道从哪里开始。我也不知道该如何将其与所有其他代码一起编译。我找不到任何教程,谷歌上显示的关于托管C++的东西似乎并...