EventSource.AddSolitaryHandler<T>(T, List<T>, Delegate, String) Método

Definição

Adiciona um único manipulador de eventos para um evento.

protected static void AddSolitaryHandler<T> (T primaryEventSource, ref System.Collections.Generic.List<T> secondaryEventSources, Delegate handler, string key = "") where T : Microsoft.VisualStudio.Shell.Events.EventSourcenew();
static member AddSolitaryHandler : 'T * List * Delegate * string -> unit (requires 'T :> Microsoft.VisualStudio.Shell.Events.EventSource and 'T : (new : unit -> 'T))
Protected Shared Sub AddSolitaryHandler(Of T As {EventSourceNew}) (primaryEventSource As T, ByRef secondaryEventSources As List(Of T), handler As Delegate, Optional key As String = "")

Parâmetros de tipo

T

O tipo de EventSource-derivado que expõe eventos gerenciados para eventos COM do Shell.

Parâmetros

primaryEventSource
T

A instância primária do T .

secondaryEventSources
List<T>

A coleção de instâncias secundárias do T .

handler
Delegate

O manipulador de eventos a ser adicionado.

key
String

A chave que identifica o evento a ser manipulado.

Comentários

Alguns eventos (por exemplo, IVsSolutionEvents. OnAfterOpenProject) são tratados de forma especial pelo shell. Para permanecer responsivo durante o ASL, os coletores que tratam OnAfterOpenProject são chamados em lotes, não ocupando mais do que uma pequena quantidade de tempo por lote. Se algum coletor permanecer para ser chamado quando a fatia do lote estiver ativa, uma tarefa será criada para lidar com o próximo lote e assim por diante.

Os objetos EventSource são coletores de eventos únicos no que diz respeito ao shell, mas eventos .NET comuns podem ter vários manipuladores. Esses manipuladores não podem ser divididos pelo shell no modo como os coletores de eventos de shell normais (por exemplo, IVsSolutionEvents) podem. Para permitir que objetos EventSource participem de otimizações de repsonsiveness avançadas, como aquelas implementadas para IVsSolutionEvents. OnAfterOpenProject, Add/RemoveSolitaryHandler organize para um evento EventSource para ter no máximo um único manipulador gerenciado. Se obtivermos manipuladores gerenciados adicionais para o evento, criaremos instâncias secundárias do T para esses manipuladores gerenciados, e essas instâncias manipularão *apenas* os eventos solitários.

Aplica-se a