45 lines
1.4 KiB
C#
45 lines
1.4 KiB
C#
using Microsoft.Extensions.DependencyInjection;
|
|
using NetDocsForLLM.Services;
|
|
using NetDocsForLLM.ViewModels;
|
|
using System;
|
|
using System.Windows;
|
|
|
|
namespace NetDocsForLLM
|
|
{
|
|
public partial class App : Application
|
|
{
|
|
private readonly ServiceProvider _serviceProvider;
|
|
|
|
public App()
|
|
{
|
|
ServiceCollection services = new();
|
|
ConfigureServices(services);
|
|
_serviceProvider = services.BuildServiceProvider();
|
|
}
|
|
|
|
private void ConfigureServices(ServiceCollection services)
|
|
{
|
|
// Register services
|
|
services.AddSingleton<IDocFxService, XmlDocGenerator>(); // Usar el generador XML
|
|
services.AddSingleton<IDocumentationGenerator, DocumentationGenerator>();
|
|
services.AddSingleton<IAssemblyAnalyzer, AssemblyAnalyzer>();
|
|
|
|
// Register ViewModels
|
|
services.AddSingleton<MainViewModel>();
|
|
services.AddTransient<DocumentationViewModel>();
|
|
services.AddTransient<ExportViewModel>();
|
|
|
|
// Register Views
|
|
services.AddSingleton<MainWindow>();
|
|
}
|
|
|
|
protected override void OnStartup(StartupEventArgs e)
|
|
{
|
|
base.OnStartup(e);
|
|
|
|
var mainWindow = _serviceProvider.GetRequiredService<MainWindow>();
|
|
mainWindow.DataContext = _serviceProvider.GetRequiredService<MainViewModel>();
|
|
mainWindow.Show();
|
|
}
|
|
}
|
|
} |