Share via


noncreatable

定义一个自身不能实例化的对象。

语法

[noncreatable]

备注

不可创建 C++ 属性的功能与不可创建的 MIDL 属性相同,并且会自动传递给编译器生成的 .IDL 文件。

如果在使用 ATL 的项目中使用此特性,该特性的行为会更改。 除了上述行为,该属性还注入 OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO 宏。 此宏指示 ATL 无法外部创建对象。

示例

// cpp_attr_ref_noncreatable.cpp
// compile with: /LD
#include <unknwn.h>
[module(name="MyLib")];

[object, uuid("11111111-1111-1111-1111-111111111111")]
__interface A
{
};

[coclass, uuid("11111111-1111-1111-1111-111111111112"), noncreatable]
class CMyClass : public A
{
   HRESULT xx();
};

要求

特性上下文
适用于 classstruct
可重复
必需的特性 coclass
无效的特性

有关特性上下文的详细信息,请参见 特性上下文

另请参阅

IDL 特性
类特性