using System; using System.Collections.Generic; namespace Umbraco.Core.Models.PublishedContent { /// /// Provides an abstract base class for IPropertySet implementations that /// wrap and extend another IPropertySet. /// public abstract class PropertySetWrapped : IPropertySet { protected readonly IPropertySet Content; /// /// Initializes a new instance of the class /// with an IPropertySet instance to wrap. /// /// The content to wrap. protected PropertySetWrapped(IPropertySet content) { Content = content; } /// /// Gets the wrapped content. /// /// The wrapped content, that was passed as an argument to the constructor. public IPropertySet Unwrap() => Content; /// public PublishedContentType ContentType => Content.ContentType; /// public Guid Key => Content.Key; /// public IEnumerable Properties => Content.Properties; /// public IPublishedProperty GetProperty(string alias) => Content.GetProperty(alias); } }