Ir para conteúdo
Fórum Script Brasil
  • 0

[_newenum] E Iunknown


Denis Bittencourt Muniz

Pergunta

Boa tarde!

Alguém poderia me explicar:

Public Property Get NewEnum() As IUnknown
   'this property allows you to enumerate
   'this collection with the For...Each syntax
   Set NewEnum = mCol.[_NewEnum]
End Property

1. Que tipo é esse? IUnknown? (creio eu que deve ser uma interface oculta)

2. [_NewEnum]? O que é isso? (Observação: 'mCol' é do tipo 'Collection')

Aguardo respostas! Falows!

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Uuuhhh... um código obscuro em VB! :D

Creio que você saiba para que serve esse código, né? Se não sabe, é para que sua classe possa ser iterável através de um For Each... Next, assim como coleções e arrays permitem. O retorno ali pode ser IUnknown (que é uma interface para objetos desconhecidos, como o nome sugere) ou IEnumVARIANT que é realmente o tipo retornado por _NewEnum(). Uma coisa bizarra nesse código é este sublinhado na frente do nome da propriedade NewEnum (que aliás, não aparece como uma propriedade da coleção), já que o VB não permite identificadores com sublinhados no início. E aí é que entram os colchetes, que permitem acessar esse membro (que parece não existir).

E, tem mais um passo extra para essa bruxaria aí funcionar, segundo é descrito aqui: http://www.vb.mvps.org/hardcore/html/delegatingiterator.htm

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...