Interface IVsCfgProviderEventsHelper

 

Publicado: junho de 2016

Implementado pelo ambiente de chamada por projetos para usar como um auxiliar implementando IVsCfgProvider2.

Namespace:   Microsoft.VisualStudio.Shell.Interop
Assembly:  Microsoft.VisualStudio.Shell.Interop (em Microsoft.VisualStudio.Shell.Interop.dll)

Sintaxe

[InterfaceTypeAttribute(1)]
[GuidAttribute("0D6D480C-894F-48E4-98D2-E0A7127750E4")]
public interface IVsCfgProviderEventsHelper
[InterfaceTypeAttribute(1)]
[GuidAttribute("0D6D480C-894F-48E4-98D2-E0A7127750E4")]
public interface class IVsCfgProviderEventsHelper
[<InterfaceTypeAttribute(1)>]
[<GuidAttribute("0D6D480C-894F-48E4-98D2-E0A7127750E4")>]
type IVsCfgProviderEventsHelper = interface end
<InterfaceTypeAttribute(1)>
<GuidAttribute("0D6D480C-894F-48E4-98D2-E0A7127750E4")>
Public Interface IVsCfgProviderEventsHelper

Métodos

Nome Descrição
System_CAPS_pubmethod AdviseCfgProviderEvents(IVsCfgProviderEvents, UInt32)

Chamado para adicionar ouvintes de eventos de configuração para a matriz.

System_CAPS_pubmethod NotifyOnCfgNameAdded(String)

Disparado para coletar o nome de configuração adicionados eventos para todos os ouvintes na matriz.

System_CAPS_pubmethod NotifyOnCfgNameDeleted(String)

Disparado para coletar eventos de nome excluído de configuração para todos os ouvintes na matriz.

System_CAPS_pubmethod NotifyOnCfgNameRenamed(String, String)

Disparado para coletar o nome da configuração renomeadas eventos para todos os ouvintes na matriz.

System_CAPS_pubmethod NotifyOnPlatformNameAdded(String)

Disparado para coletar o nome da plataforma adicionados eventos para todos os ouvintes na matriz.

System_CAPS_pubmethod NotifyOnPlatformNameDeleted(String)

Disparado para coletar eventos de nome excluído de plataforma para todos os ouvintes na matriz.

System_CAPS_pubmethod UnadviseCfgProviderEvents(UInt32)

Chamado para remover ouvintes da matriz de ouvintes de eventos de configuração.

Comentários

IVsCfgProvider permite oferecer suporte a plataformas e editar configurações do projeto. Se seu projeto implementa IVsCfgProvider2, você também deve implementar seu AdviseCfgProviderEvents e UnadviseCfgProviderEvents métodos de coletor de escuta para eventos de configuração de clientes acionados por IVsCfgProviderEvents.

É responsabilidade do seu projeto para manter uma matriz de clientes escuta para eventos de configuração do seu projeto. Além disso, você também precisa um mecanismo para notificar a cada um dos ouvintes de acionamento de eventos de configuração, então você deve ter um processo no qual você percorrer a matriz e chamar cada uma para disparar os eventos solicitados.

IVsCfgProviderEventsHelper é um objeto auxiliar que oferece essa funcionalidade para gerenciar a matriz de ouvintes para o projeto e delegação de IVsCfgProvider2 para auxiliar para acionar eventos no horário correto para qualquer pessoa na lista. Você sabe como provedor de configuração quando você adicionar, excluir ou renomear uma configuração e chamar o auxiliar para notificar outros objetos em seu projeto e o ambiente dos eventos. É por isso que você precisa acionar esses eventos no momento certo. Com esse objeto auxiliar, você só precisa passar o fato de que um novo cliente está escutando para eventos de configuração para o auxiliar, ou que um cliente pode ser removido da matriz. Em seguida, quando um evento é acionado, você precisa fazer é passar uma notificação de evento para o objeto auxiliar, que terão a responsabilidade de notificar todos os ouvintes.

Usando o objeto auxiliar, você pode ativar uma chamada para AdviseCfgProviderEvents em uma linha de duas chamadas AdviseCfgProviderEvents — instanciar o objeto de Ajuda, se ele existir e usar a instância do auxiliar para criar a matriz de objetos de ouvinte para ser notificado de um evento de configuração.

IVsCfgProviderEventsHelper é instanciado chamando o CreateInstance método ILocalRegistry e passando- CLSID_VsCfgProviderEventsHelper. Uma vez em uma instância de IVsCfgProviderEventsHelper é iniciado, AdviseCfgProviderEvents e UnadviseCfgProviderEvents irá adicionar e remover ouvintes de eventos para a matriz.

Da mesma forma, a implementação de UnadviseCfgProviderEvents passa para o método auxiliar UnadviseCfgProviderEvents para levar o ouvinte da matriz.

Em seguida, quando eventos de configuração devem ser disparados, implementar os eventos de coletor de notificação se torna uma questão de uma chamada de uma linha de IVsCfgProviderEvents ao notificar o método em IVsCfgProviderEventsHelper que notificará todos os ouvintes na matriz. Dessa forma, você pode passar uma notificação que um nome de configuração tiver sido adicionado, por exemplo, de AddCfgsOfCfgName, por OnCfgNameAdded, NotifyOnCfgNameAdded quem será responsável por notificar todos os ouvintes de evento.

Você pode, obviamente, implementar isso IVsCfgProvider2 funcionalidade-se diretamente e gerenciar esse conjunto de coletores, mas o auxiliar torna mais simples, usando uma linha chama implementar Advise Unadvise e notificação de eventos.

Observações para implementadores:

Implementado pelo ambiente para fornecer notificação de eventos relacionados à configuração de acionamento.

Observações para chamadores:

Chamado por projetos que usam esse objeto como um auxiliar para implementação de IVsCfgProvider2, ele mantém uma matriz de escuta para eventos de clientes e dispara notificações de eventos de configuração para esses clientes.

Consulte também

Namespace Microsoft.VisualStudio.Shell.Interop

Retornar ao topo