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); } }