DepartmentProject/DepartmentPortal/Common/ModuleTools/Interfaces/IDependencyManager.cs

38 lines
968 B
C#
Raw Normal View History

2021-03-30 22:34:31 +04:00
using System;
namespace ModuleTools.Interfaces
{
/// <summary>
/// Интерфейс установки зависмости между элементами
/// </summary>
public interface IDependencyManager
{
/// <summary>
/// Добавление зависимости
/// </summary>
/// <typeparam name="T"></typeparam>
/// <typeparam name="U"></typeparam>
void RegisterType<T, U>() where U : T;
/// <summary>
/// Добавление зависимости
/// </summary>
/// <typeparam name="T"></typeparam>
void RegisterType<T>();
/// <summary>
/// Получение класса со всеми зависмостями
/// </summary>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
T Resolve<T>();
2021-03-30 22:34:31 +04:00
/// <summary>
/// Получение класса со всеми зависмостями
/// </summary>
/// <param name="t"></param>
/// <returns></returns>
object Resolve(Type t);
}
}