atributo não extensível
O atributo [nonextensible] especifica que a implementação de IDispatch inclui apenas as propriedades e os métodos listados na descrição da interface e não pode ser estendido com membros adicionais em tempo de execução. (Por padrão, a Automação pressupõe que as interfaces podem adicionar membros em tempo de execução; ou seja, pressupõe que elas sejam extensíveis.)
[
uuid(uuid-number),
nonextensible
[, optional-attribute-list]
]
interface | dispinterface interface-name
{
interface-definition
}
Parâmetros
-
uuid-number
-
Especifica um número de identificação universalmente exclusivo para a interface.
-
optional-attribute-list
-
Especifica uma lista de zero ou mais atributos de interface MIDL.
-
interface-name
-
Especifica o nome da interface ou dispinterface.
-
interface-definition
-
Especifica instruções IDL que formam a definição da interface ou dispinterface.
Comentários
Você pode aplicar o atributo [não existente] a uma interface ou a uma dispinterface. No entanto, uma interface também deve ter os atributos [dual] e [oleautomation] .
Flags
TYPEFLAG_FNONEXTENSIBLE
Exemplos
library Hello
{
[
uuid(12345678-1234-1234-1234-123456789ABC),
helpstring("A helpful description."),
oleautomation,
dual,
nonextensible
]
interface IHello : IDispatch
{
// Interface definition statements.
}
}
Confira também