namespace Toolkit.Foundation; public class ServiceFactory(Func factory) : IServiceFactory { public TService Create(params object?[]? parameters) => (TService)factory(typeof(TService), parameters); public TService Create(Action serviceDelegate, params object?[]? parameters) { TService service = (TService)factory(typeof(TService), parameters); serviceDelegate.Invoke(service); return service; } public object Create(Type type, params object?[]? parameters) => factory(type, parameters); }