BulkFileOperation Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
O BulkFileOperation fornece funcionalidade para executar operações com segurança em grande parte de arquivos, atualmente abertos na solução. Um dos exemplos é SCC. Antes de a operação, o consumidor deve fornecer um conjunto estimado de arquivos e pastas em que as alterações são esperadas. Essa classe cuida da lógica de "mãos" para todos esses arquivos. Após a conclusão da operação, o BulkFileOperation faz todo o trabalho necessário para a lógica "prática" e toma uma decisão sobre o que recarregar (projeto/solução/nada). A ordem das operações é a seguinte: QueryBulkFileOperationAsync BeginAsync (opcional) endasync (opcional, mas o BeginAsync precisa ser concluído antes disso) descartar essa API é muito estrita ao uso inadequado, por exemplo, chamar endasync sem esperar por BeginAsync é feito ou chamar o mesmo método duas vezes e assim por diante. Nesse caso, a exceção será lançada.
public ref class BulkFileOperation : Microsoft::VisualStudio::PlatformUI::DisposableObject
public class BulkFileOperation : Microsoft.VisualStudio.PlatformUI.DisposableObject
type BulkFileOperation = class
inherit DisposableObject
Public Class BulkFileOperation
Inherits DisposableObject
- Herança
Propriedades
| IsDisposed |
Retorna se o objeto foi Descartado uma vez, protege contra descarte duplo (Herdado de DisposableObject) |
| IsInProgress |
Obtém a indicação se algum BulkFileOperation está em andamento no momento. Seria útil em vários casos:-para evitar obter exceção se você quiser executar o New BulkFileOperation; -para não perder o contexto atual, quando subscibes em eventos de início/término. |
| IsSynchronousUpdateNeeded |
Obtém o valor se a atualização síncrona será necessária depois que a operação de arquivo em massa for concluída. |
| ProjectsToReload |
Obtém a lista do caminho completo para os arquivos de projeto que precisarão ser recarregados/atualizados com a operação de arquivo em massa solicitada. |
| TelemetryInfo |
Obtenha informações sobre estatísticas para o BulkFileOperation atual. É possível anexá-lo ao evento e ter informações adicionais sobre intervalos e contagens. |
| UnsavedFiles |
O subconjunto de caminhos de arquivo de documento que estão em uso no momento. |
Métodos
| BeginAsync(CancellationToken) |
Inicie a operação de arquivo em massa com base no método QueryBulkFileOperationAsync anterior. |
| Dispose() |
Descarta o objeto atual e, em seguida, suprime a finalização posterior. (Herdado de DisposableObject) |
| Dispose(Boolean) |
Sobrecarga virtual padrão para IDisposable padrão (Herdado de DisposableObject) |
| DisposeManagedResources() |
Não há nenhuma proteção para chamar esse método enquanto outros métodos estão em andamento. Por exemplo, se BeginAsync estiver em andamento e as chamadas de cliente Disposeem (), ele descartará silenciosamente os recursos e moverá o objeto para o estado Descartado. |
| DisposeNativeResources() |
Permite que classes derivadas forneçam manipulação personalizada de Dispose para recursos nativos (Herdado de DisposableObject) |
| EndAsync() |
Conclui a operação de arquivo em massa. Toma as decisões necessárias sobre o que recarregar (projeto/solução/nada). Faz toda a lógica prática e adiciona arquivos/pastas no controle. Este método não é cancelável porque, caso contrário, o sistema estará em estado desconhecido:-alguns arquivos foram entregues, alguns não; -se projetos/arquivo de solução foram atualizados, e a solução não foi recarregada, o que é a experiência de UX inválida. |
| QueryBulkFileOperationAsync(IEnumerable<String>, IEnumerable<String>, CancellationToken) |
Iniciar operação de arquivo em massa. Esse método é chamado pelo cliente antes de iniciar uma operação de arquivo em massa, por exemplo, check-out do git. |
| ThrowIfDisposed() |
Gera um ObjectDisposedException se este objeto foi descartado (Herdado de DisposableObject) |
Eventos
| BeforeFlushPendingFileChangeNotification |
Envia o sinal BeforeFlushPendingFileChangeNotification quando o BulkFileOperation termina antes de retomar o serviço FileChange. |
| Begin |
Envia o sinal de início quando BulkFileOperation começa e processamos todos os sinais de serviço de FileChange e o pausam. |
| Disposing |
Gerado quando o evento está sendo descartado, enquanto ele ainda está acessível. (Herdado de DisposableObject) |
| End |
Envia o sinal de término quando o BulkFileOperation termina no final. |