using Umbraco.Core.Composing;
namespace Umbraco.Core
{
///
/// Provides extension methods to the class.
///
public static partial class CompositionExtensions
{
///
/// Registers a unique service as its own implementation.
///
public static void RegisterUnique(this Composition composition)
=> composition.RegisterUnique(typeof(TService), typeof(TService));
///
/// Registers a unique service with an implementation type.
///
public static void RegisterUnique(this Composition composition)
=> composition.RegisterUnique(typeof(TService), typeof(TImplementing));
///
/// Registers a unique service with an implementation type, for a target.
///
public static void RegisterUniqueFor(this Composition composition)
where TService : class
=> composition.RegisterUniqueFor(typeof(TImplementing));
///
/// Registers a unique service with an implementing instance.
///
public static void RegisterUnique(this Composition composition, TService instance)
=> composition.RegisterUnique(typeof(TService), instance);
}
}