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