//using System;
//namespace MAX.Core.DependencyInjection;
/////
///// 依赖注册抽象(由 MAX.Core 自己定义,不依赖任何第三方 DI 容器)。
///// 具体实现由宿主项目提供,内部适配外部容器(Autofac、Microsoft.Extensions.DependencyInjection 等)。
/////
//public interface IServiceRegistrar
//{
// ///
// /// 注册单例: 实现
// ///
// void RegisterSingleton() where TService : class where TImplementation : class, TService;
// ///
// /// 注册单例实例
// ///
// void RegisterSingleton(TService instance) where TService : class;
// ///
// /// 注册单例(匿名工厂)
// ///
// void RegisterSingleton(Func factory) where TService : class;
// ///
// /// 注册单例(key): 实现
// ///
// void RegisterSingleton(object? serviceKey) where TService : class where TImplementation : class, TService;
// ///
// /// 注册单例实例(key)
// ///
// void RegisterSingleton(object? serviceKey, TService instance) where TService : class;
// ///
// /// 注册单例(key + 匿名工厂)
// ///
// void RegisterSingleton(object? serviceKey, Func factory) where TService : class;
// ///
// /// 注册作用域生命周期
// ///
// void RegisterScoped() where TService : class where TImplementation : class, TService;
// ///
// /// 注册作用域生命周期(匿名工厂)
// ///
// void RegisterScoped(Func factory) where TService : class;
// ///
// /// 注册作用域生命周期(key): 实现
// ///
// void RegisterScoped(object? serviceKey) where TService : class where TImplementation : class, TService;
// ///
// /// 注册作用域生命周期(key + 匿名工厂)
// ///
// void RegisterScoped(object? serviceKey, Func factory) where TService : class;
// ///
// /// 注册瞬时生命周期
// ///
// void RegisterTransient() where TService : class where TImplementation : class, TService;
// ///
// /// 注册瞬时生命周期(匿名工厂)
// ///
// void RegisterTransient(Func factory) where TService : class;
// ///
// /// 注册瞬时生命周期(key): 实现
// ///
// void RegisterTransient(object? serviceKey) where TService : class where TImplementation : class, TService;
// ///
// /// 注册瞬时生命周期(key + 匿名工厂)
// ///
// void RegisterTransient(object? serviceKey, Func factory) where TService : class;
//}