using System; using Umbraco.Core.Models; using Umbraco.Core.Services; namespace Umbraco.Core { public static class ServiceContextExtensions { public static IContentTypeServiceBase GetContentTypeService(this ServiceContext services) where T : IContentTypeComposition { if (typeof(T).Implements()) return services.ContentTypeService as IContentTypeServiceBase; if (typeof(T).Implements()) return services.MediaTypeService as IContentTypeServiceBase; if (typeof(T).Implements()) return services.MemberTypeService as IContentTypeServiceBase; throw new ArgumentException("Type " + typeof(T).FullName + " does not have a service."); } } }