Download YamlDotNetTypeConverterPart2.zip, last updated 24/04/2017 (28.19 KB)

Download
  • md5: 77842736a3da9b0ae928274edd184779
  • sha1: b503ddbbe501df282116dbf9a83cb83de370177f
  • sha256: 67dfe4c342abf5f7ff82a0077e752dfce66ace5fee9aa7d6aca7698e19ea9f2a
using System.Collections.Specialized;
using System.ComponentModel;

// Using custom type converters with C# and YamlDotNet, part 1
// http://www.cyotek.com/blog/using-custom-type-converters-with-csharp-and-yamldotnet-part-1

// This work is licensed under the Creative Commons Attribution 4.0 International License.
// To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/.

namespace YamlDotNetTypeConverter
{
  internal sealed class ContentCategory
  {
    #region Fields

    private ContentCategoryCollection _categories;

    private ContentCategory _parent;

    private StringCollection _topics;

    #endregion

    #region Properties

    [Browsable(false)]
    //[YamlMember(Order = 4)]
    public ContentCategoryCollection Categories
    {
      get
      {
        return _categories ?? (_categories = new ContentCategoryCollection
                                             {
                                               Parent = this
                                             });
      }
      set { _categories = value; }
    }

    [Browsable(false)]
    [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
    [DefaultValue(false)]
    //[YamlIgnore]
    public bool HasCategories
    {
      get { return _categories != null && _categories.Count != 0; }
    }

    [Browsable(false)]
    [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
    [DefaultValue(false)]
    //[YamlIgnore]
    public bool HasTopics
    {
      get { return _topics != null && _topics.Count != 0; }
    }

    //[YamlMember(Order = 1)]
    public string Name { get; set; }

    [Browsable(false)]
    //[YamlIgnore]
    public ContentCategory Parent
    {
      get { return _parent; }
      set { _parent = value; }
    }

    //[YamlMember(Order = 2)]
    public string Title { get; set; }

    [Browsable(false)]
    //[YamlMember(Order = 3)]
    public StringCollection Topics
    {
      get { return _topics ?? (_topics = new StringCollection()); }
      set { _topics = value; }
    }

    #endregion
  }
}

Donate

Donate