标签: c++-cli

插入符号('^')在C++/CLI中的含义是什么?

我刚刚遇到这个代码,一些谷歌搜索没有解释这个神秘的(对我来说)语法.

Hashtable^ tempHash = gcnew Hashtable(iterators_);

IDictionaryEnumerator^ enumerator = tempHash->GetEnumerator();
Run Code Online (Sandbox Code Playgroud)

插入物的意思是什么?(这gcnew对我来说也是新的,我在这里问过这个问题.)

.net c++-cli

199
推荐指数
6
解决办法
9万
查看次数

使用vs2010将C++/CLI项目更改为4.0以外的另一个框架

自从我将项目升级到visual studio 2010项目格式后,我的C++/CLI项目就针对.net framework 4.0.

很容易将框架版本从C#项目切换到另一个版本,但我不知道如何在C++/CLI项目中执行此操作,我在项目属性页面中没有看到此设置.

.net c++-cli .net-4.0 visual-studio-2010 visual-studio

153
推荐指数
3
解决办法
7万
查看次数

是否可以从VS插件访问VC++代码DOM?

用于VC++的Visual Studio IntelliSense包括"完整的" EDG C++解析器(也被英特尔和其他人使用).由于插件可以访问C#Code DOM(如果我错了,请纠正我),C++ Code DOM是否也可以访问?这可以用于分析VS环境中的开放VC++项目吗?

.net codedom c++-cli visual-studio visual-c++

100
推荐指数
2
解决办法
7754
查看次数

C++/CLI从System :: String ^转换为std :: string

有人可以发一个简单的代码,可以转换,

System::String^
Run Code Online (Sandbox Code Playgroud)

至,

C++ std::string

即,我只想分配值,

String^ originalString;
Run Code Online (Sandbox Code Playgroud)

至,

std::string newString;
Run Code Online (Sandbox Code Playgroud)

string managed-c++ c++-cli

87
推荐指数
7
解决办法
14万
查看次数

你什么时候打算上课?

在C#和C++/CLI中,关键字sealed(或NotInheritableVB)用于保护类免于任何继承机会(该类将是不可继承的).我知道面向对象编程的一个特性是继承,我觉得使用sealed反对这个特性,它会停止继承.是否有一个例子显示了sealed它的好处以及何时使用它的重要性?

.net c# oop c++-cli

81
推荐指数
2
解决办法
3万
查看次数

如何使我的托管NuGet包支持C++/CLI项目?

我已经制作了一个NuGet包,当我从C#项目中使用它时效果很好.它在lib/net40目录中包含一个DLL ,并且DLL被添加为引用.

现在NuGet支持C++,我如何实际修改我的包,以便可以在C++/CLI项目中将DLL添加为托管引用?我找不到任何解释这个的教程.如果我尝试按原样添加包,则会收到以下错误:

您正在尝试将此软件包安装到以"Native,Version = v0.0"为目标的项目中,但该软件包不包含任何与该框架兼容的程序集引用或内容文件.

有人会认为解决方案是将文件放在lib/native下,但根据http://docs.nuget.org/docs/reference/support-for-native-projects,这是不受支持的.此外,简单地将DLL直接放在lib下似乎没有做任何事情.

显然,我应该使用build/native下的文件.props.targets文件来执行此操作,但是我需要将这些文件放入这些文件中以使其工作?

.net dll c++-cli nuget nuget-package

68
推荐指数
3
解决办法
2万
查看次数

为什么C#不允许像C++这样的非成员函数

C#将不允许编写非成员函数,并且每个方法都应该是类的一部分.我认为这是所有CLI语言的限制.但我错了,我发现C++/CLI支持非成员函数.编译时,编译器会将该方法作为某个未命名类的成员.

这是C++/CLI标准所说的,

[注意:CLI将非成员函数视为某些未命名类的成员; 但是,在C++/CLI源代码中,此类函数无法使用该类名显式限定.结束说明]

未指定元数据中非成员函数的编码.[注意:这不会导致互操作问题,因为此类功能无法获得公共可见性.结束说明]

所以我的问题是为什么C#不实现这样的东西?或者你认为不应该有非成员函数,每个方法应该属于某个类?

我的意见是拥有非成员函数支持,它有助于避免污染类的接口.

有什么想法吗..?

.net c# clr c++-cli function

65
推荐指数
4
解决办法
2万
查看次数

如何从C#调用C++/CLI?

我有一个用C++实现的类,它负责程序的算术运算,以及一个使用WPF的接口.我使用C#处理输入,但是我如何使用我的C++类?

我已经看到一些关于使托管C++包装类与它交互的注释,但我不知道从哪里开始.我也不知道如何将其与所有其他代码一起编译.我真的找不到这方面的教程,谷歌在托管C++上展示的东西似乎并没有什么帮助.

有什么东西可以帮助我吗?这对我来说似乎并不合理.

编辑尝试m3rLinEz解决方案,但它给我一个BadImageFormatException,我认为这是因为没有生成DLL.我按照所说的做了一切,不知道发生了什么.有任何想法吗?

c# c++ pinvoke managed-c++ c++-cli

64
推荐指数
2
解决办法
8万
查看次数

C++/CLI:我为什么要使用它?

我对C++非常熟悉,所以我考虑学习.NET及其所有衍生物(尤其是C#).

一路上我遇到了C++/CLI,我想知道该语言是否有任何特定用途?它只是假设是从原生C++转换为C#的中间语言吗?

突然出现的另一个问题是为什么.NET框架中仍有这么多编程语言?(VB,C++/CLI,C#...)

.net c# c++-cli

54
推荐指数
6
解决办法
2万
查看次数

什么是gcnew?

我偶然发现了这段代码,我很自豪地去问作者这意味着什么.

Hashtable^ tempHash = gcnew Hashtable(iterators_);

IDictionaryEnumerator^ enumerator = tempHash->GetEnumerator();
Run Code Online (Sandbox Code Playgroud)

gcnew使用它而不仅仅是简单的是什么,有多重要new?(我也被插入符号困扰;我在这里过这个问题.)

.net c++-cli

53
推荐指数
3
解决办法
5万
查看次数