24 lines
996 B
C#
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));
|
|
}
|
|
} |