예제 #1
0
 /// <summary>
 ///  standard use case, if IncludeChildren flag is set, return this item and all its children.
 ///  if not just return this item.
 /// </summary>
 public virtual IEnumerable <SyncItem> GetItems(SyncItem item)
 {
     if (item.Flags.HasFlag(DependencyFlags.IncludeChildren))
     {
         var items = new List <SyncItem> {
             item
         };
         items.AddRange(GetDecendants(item, item.Flags & ~DependencyFlags.IncludeChildren));
         return(items);
     }
     else
     {
         return(item.AsEnumerableOfOne());
     }
 }
예제 #2
0
 protected abstract IEnumerable <SyncItem> GetDecendants(SyncItem item, DependencyFlags flags);