Поделиться через


noncreatable - атрибут

Атрибут [noncreatable] определяет объект, экземпляр которого не может быть создан сам по себе.

[
  coclass-attribute-list, 
    noncreatable
]
coclass coclass-name
{
  coclass-interface-list
}

Параметры

coclass-attribute-list

Другие атрибуты, которые применяются к классу .

coclass-name

Имя класса.

coclass-interface-list

Список интерфейсов для класса .

Комментарии

Используйте атрибут [noncreatable] в операторе coclass , чтобы указать пользователям, что они не могут создать новый объект этого класса на верхнем уровне, то есть путем вызова CreateInstance или CoCreateInstance. Для создания экземпляра объекта этого класса требуется вызов метода к другому объекту. Например, в Microsoft Excel объект Cell является несоздаемым и должен быть получен из объекта Microsoft Excel Worksheet.

Методы, возвращающие экземпляры несоздаемых классов, должны возвращать точный тип объекта, а не типы VARIANT или IDispatch*.

Представление typeflag:

Отсутствие TYPEFLAG_FCANCREATE.

Примеры

[
    uuid(12345678-1234-1234-1234-123456789ABC),
    helpstring("This is MyCOClass"),
    noncreatable
]
coclass MyCoClass
{
    [default] interface IMyClass;
    [default, source] dispinterface IMyClassEvents;
}

См. также раздел

кокласс

Синтаксис ODL-файла

Пример ODL-файла

Создание библиотеки типов с помощью MIDL