using FluentAvalonia.UI.Controls; using System; using System.Threading.Tasks; namespace Needlework.Net.Services { public class DialogService { public async Task ShowAsync(object data) where T : IDialog, IDisposable { T dialog = Activator.CreateInstance(); var result = await dialog.ShowAsync(data); dialog.Dispose(); return result; } } }