CricularDependency.cs 768 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. using Microsoft.AspNetCore.Builder;
  2. using Microsoft.Extensions.DependencyInjection;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. namespace ConsoleApp1.DI;
  9. interface IClassA { }
  10. interface IClassB { }
  11. class ClassA : IClassA
  12. {
  13. public ClassA(IClassB classB) { }
  14. }
  15. class ClassB : IClassB
  16. {
  17. public ClassB(IClassA classB) { }
  18. }
  19. internal class CricularDependency
  20. {
  21. public static void Test()
  22. {
  23. var builder = WebApplication.CreateBuilder();
  24. builder.Services.AddSingleton<IClassA, ClassA>();
  25. builder.Services.AddSingleton<IClassB, ClassB>();
  26. var app = builder.Build();
  27. app.MapGet("/", (IClassA classA) => "test");
  28. app.Run();
  29. }
  30. }