Files
Hyperbar/Hyperbar.Widget.Windows/WidgetXamlMetadataInitializer.cs
T
2024-01-31 22:33:23 +00:00

21 lines
673 B
C#

using Microsoft.UI.Xaml.Markup;
namespace Hyperbar.Widget.Windows;
public class WidgetXamlMetadataInitializer(IWidgetAssembly widgetAssembly,
IList<IXamlMetadataProvider> xamlMetadataProviders) :
IInitialization
{
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;
}
}