예제 #1
0
 public virtual void AddSubTag(MemoTag sub)
 {
     if (IsAscendant(sub))
     {
         return;
     }
     _subTags.Add(sub);
 }
예제 #2
0
 public virtual void RemoveSubTag(MemoTag sub)
 {
     _subTags.Remove(sub);
 }
예제 #3
0
        /// <summary>
        /// thisがotherの子孫であるかどうかを返す.自分自身の場合もtrue.
        /// </summary>
        public virtual bool IsDescendant(MemoTag other)
        {
            var ite = new Iterator <MemoTag>(this, tag => new[] { tag.SuperTag, });

            return(ite.Contains(other));
        }
예제 #4
0
        /// <summary>
        /// thisがotherの祖先であるかどうかを返す.自分自身の場合もtrue.
        /// </summary>
        public virtual bool IsAscendant(MemoTag other)
        {
            var ite = new Iterator <MemoTag>(this, tag => tag.SubTags);

            return(ite.Contains(other));
        }
예제 #5
0
 public virtual void RemoveTag(MemoTag tag)
 {
     _tags.Remove(tag);
 }
예제 #6
0
 public virtual void AddTag(MemoTag tag)
 {
     _tags.Add(tag);
 }