using System;
using System.Collections.Generic;
namespace Artemis.UI.Shared.Routing;
///
/// Represents a registration for a route and its associated view model.
///
/// The type of the view model associated with the route.
public class RouteRegistration : IRouterRegistration where TViewModel : ViewModelBase
{
///
/// Initializes a new instance of the class.
///
/// The path of the route.
public RouteRegistration(string path)
{
Route = new Route(path);
}
///
public override string ToString()
{
return $"{nameof(Route)}: {Route}, {nameof(ViewModel)}: {ViewModel}";
}
///
/// Gets the route associated with this registration.
///
public Route Route { get; }
///
public Type ViewModel => typeof(TViewModel);
///
public List Children { get; set; } = new();
}