37

ref class关于什么是什么以及何时将一个类声明为“参考类”的任何好的网站或解释?

msdn上的解释对我来说还不够,

base_type(可选)

一种基本类型。一个 ref 类或 ref struct 可以从零个或多个托管接口和零个或一个 ref 类型继承。值类或值结构只能从零个或多个托管接口继承。

参考

关键字告诉编译器ref类或结构将在堆上分配,对它的引用将传递给函数或存储在类成员中。value关键字告诉编译器类或结构中的所有数据都传递给函数或存储在成员中。

4

1 回答 1

65

基本上, aref class是一个 CLR 类。它相当于class在 C# 中。

这将创建一个由 CLR 管理的引用类型。如果你想创建一个可以从 C# 中使用的类,你通常会创建一个ref class. (ref struct顺便说一句,做同样的事情,但使用 C++ 的标准类与结构默认可访问性规则。)

此外,仅供参考 - 为了创建值类型(struct在 C# 中),您可以使用value classor value struct

Herb Sutter 关于 C++/CLI 关键字的帖子很好地解释了其中许多新关键字。如果您是 C++/CLI 新手,但具有扎实的 C++ 背景,这是一个有用的参考。

于 2011-01-13T19:38:06.350 回答