Files
Hyperbar/Hyperbar.Widget.Windows/WidgetXamlMetadataInitializer.cs
T
2024-01-29 22:03:36 +00:00

21 lines
670 B
C#

using Microsoft.UI.Xaml.Markup;
namespace Hyperbar.Widget.Windows;
public class WidgetXamlMetadataInitializer(IWidgetAssembly widgetAssembly,
IList<IXamlMetadataProvider> xamlMetadataProviders) :
IInitializer
{
public Task InitializeAsync()
{
foreach (IXamlMetadataProvider xamlMetadataProvider in widgetAssembly.Assembly.ExportedTypes
.Where(type => type.IsAssignableTo(typeof(IXamlMetadataProvider)))
.Select(metadataType => (IXamlMetadataProvider)Activator.CreateInstance(metadataType)!))
{
xamlMetadataProviders.Add(xamlMetadataProvider);
}
return Task.CompletedTask;
}
}