关于什么是ref class
以及何时宣布某个类为“ref class”的任何好网站或解释?
关于msdn的解释对我来说还不够,
base_type(可选)
基本类型。 ref类或ref结构可以从零个或多个托管接口以及零个或一个ref类型继承。值类或值结构只能从零个或多个托管接口继承。
REF
ref
关键字告诉编译器将在堆上分配类或结构,并且对它的引用将传递给函数或存储在类成员中。value
关键字告诉编译器类或结构中的所有数据都传递给函数或存储在成员中。
答案 0 :(得分:51)
基本上,ref class
是CLR类。它相当于C#中的class
。
这将创建由CLR管理的引用类型。如果你想创建一个可以从C#中使用的类,你通常会创建一个ref class
。顺便说一句,(ref struct
完全相同,但使用C ++的标准类与结构默认可访问性规则。)
此外,仅供参考 - 为了在C#中创建值类型(struct
),您可以使用value class
或value struct
。
许多新关键字的一个很好的解释是Herb Sutter's post on C++/CLI Keywords。如果您是C ++ / CLI的新手,但具有可靠的C ++背景,那么这是一个有用的参考。