using Microsoft.Extensions.DependencyInjection; namespace InkForge.Common.ViewModels.Landing; public class LandingViewModelFactory(IServiceProvider serviceProvider) { public T Create(LandingViewModel landing) where T : LandingViewModelBase { LandingViewModelsObjectParameters objectParameters = new(landing); return TypeFactory.Create(objectParameters, serviceProvider); } readonly record struct LandingViewModelsObjectParameters( LandingViewModel Landing ) : IObjectParameters { public static Type[] Types => [typeof(LandingViewModel)]; public static implicit operator object[](in LandingViewModelsObjectParameters self) => [self.Landing]; } }