noncreatable 属性
[作成不可能] 属性は、単独ではインスタンス化できないオブジェクトを定義します。
[
coclass-attribute-list,
noncreatable
]
coclass coclass-name
{
coclass-interface-list
}
パラメーター
-
coclass-attribute-list
-
クラスに適用されるその他の属性。
-
coclass-name
-
クラスの名前。
-
coclass-interface-list
-
クラスのインターフェイスの一覧。
解説
このクラスの新しいオブジェクトを最上位レベル (CreateInstance または CoCreateInstance) で作成できないことをユーザーに示すには、コクラス ステートメントで [作成できない] 属性を使用します。 このクラスのオブジェクトのインスタンス化には、別のオブジェクトへのメソッド呼び出しが必要です。 たとえば、Microsoft Excel では、"Cell" オブジェクトは作成できず、Microsoft Excel Worksheet オブジェクトから取得する必要があります。
作成できないクラスのインスタンスを返すメソッドは、 VARIANT 型や IDispatch* 型ではなく、オブジェクトの正確な型を返す必要があります。
Typeflag Representation:
TYPEFLAG_FCANCREATEがない。
例
[
uuid(12345678-1234-1234-1234-123456789ABC),
helpstring("This is MyCOClass"),
noncreatable
]
coclass MyCoClass
{
[default] interface IMyClass;
[default, source] dispinterface IMyClassEvents;
}
関連項目