Propriedade IVsDataHostService.UIThread
Obtém a execução do segmento principal (UI) no processo do Visual Studio.
Namespace: Microsoft.VisualStudio.Data.Core
Assembly: Microsoft.VisualStudio.Data.Core (em Microsoft.VisualStudio.Data.Core.dll)
Sintaxe
'Declaração
ReadOnly Property UIThread As Thread
Thread UIThread { get; }
property Thread^ UIThread {
Thread^ get ();
}
abstract UIThread : Thread
function get UIThread () : Thread
Valor de propriedade
Tipo: System.Threading.Thread
A execução do segmento principal (UI) no processo do Visual Studio.
Comentários
Esta propriedade é útil para determinar se o código está em execução atualmente no segmento principal do processo do Visual Studio.Isso geralmente é útil cercando chamadas a InvokeOnUIThread os métodos ou de BeginInvokeOnUIThread para evitar a sobrecarga de um delegado dinâmico invoke.
Exemplos
O código a seguir demonstra um uso típico da propriedade de UIThread determinar se um método que deve executar no encadeamento de interface do usuário pode ser chamado diretamente ou dinamicamente deve ser chamado para empacotar a chamada entre segmentos.
using System;
using System.Threading;
using Microsoft.VisualStudio.Data.Core;
using Microsoft.VisualStudio.Shell.Interop;
public class DdexHostSvcExample2
{
public static void UpdateUI(IVsDataHostService hostService)
{
if (Thread.CurrentThread == hostService.UIThread)
{
// Called on UI thread, directly call method
ActuallyUpdateUI(hostService);
}
else
{
// Called from background thread, begin invoke on UI thread
hostService.BeginInvokeOnUIThread(
new UpdateUIDelegate(ActuallyUpdateUI),
hostService);
}
}
private delegate void UpdateUIDelegate(IVsDataHostService hostService);
private static void ActuallyUpdateUI(IVsDataHostService hostService)
{
IVsUIShell uiShell = hostService.GetService<IVsUIShell>();
uiShell.UpdateCommandUI(0); // fImmediateUpdate == false
}
}
Segurança do .NET Framework
- Confiança total para o chamador imediato. O membro não pode ser usado por código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de código parcialmente confiáveis.