Files
VisualizerExtensionExample/MailAddressVisualizer/MailAddressDebuggerVisualizerProvider .cs
2026-01-13 10:51:58 +01:00

24 lines
996 B
C#

using MailAddressVisualizerSource;
using Microsoft.VisualStudio.Extensibility.DebuggerVisualizers;
using Microsoft.VisualStudio.RpcContracts.RemoteUI;
using System.Net.Mail;
using System.Threading;
using System.Threading.Tasks;
namespace MailAddressVisualizer;
internal class MailAddressDebuggerVisualizerProvider : DebuggerVisualizerProvider
{
public override DebuggerVisualizerProviderConfiguration DebuggerVisualizerProviderConfiguration
=> new("Mail Address Visualizer", typeof(MailAddress));
public override async Task<IRemoteUserControl> CreateVisualizerAsync(
VisualizerTarget visualizerTarget, CancellationToken cancellationToken)
{
MailAddressModel? model = await visualizerTarget
.ObjectSource
.RequestDataAsync<MailAddressModel?>(jsonSerializer: null, CancellationToken.None);
return await Task.FromResult<IRemoteUserControl>(
new MailAddressVisualizerUserControl(model));
}
}