Files
DebugVisualizerExtension/MailAddressVisualizer/MailAddressVisualizer/MailAddressDebuggerVisualizerProvider .cs
T
Matthias Heil 91058067c5 Resharpered
2026-01-19 12:30:03 +01:00

32 lines
1.4 KiB
C#

using MailAddressVisualizerSource;
using Microsoft.VisualStudio.Extensibility;
using Microsoft.VisualStudio.Extensibility.DebuggerVisualizers;
using Microsoft.VisualStudio.RpcContracts.RemoteUI;
using System.Net.Mail;
using System.Threading;
using System.Threading.Tasks;
namespace MailAddressVisualizer;
[VisualStudioContribution]
internal class MailAddressDebuggerVisualizerProvider : DebuggerVisualizerProvider
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("ConstantExpressionEvaluator", "CEE0027:String not localized", Justification = "<Pending>")]
public override DebuggerVisualizerProviderConfiguration DebuggerVisualizerProviderConfiguration => new(
[
new VisualizerTargetType("MailAddress Visualizer", typeof(MailAddress))
])
{
VisualizerObjectSourceType = new VisualizerObjectSourceType(typeof(MailAddressObjectSource)),
Style = VisualizerStyle.ToolWindow,
};
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));
}
}