Example #1
0
 public static List<IRelation> ToRelation<TNode>(this ILink<TNode> link, RelationDirection linkDirection = RelationDirection.Forwards)
     where TNode : INode
 {
     List<IRelation> relations = new List<IRelation>();
     IRelation forward = ToRelation(link);
     switch (linkDirection)
     {
         case RelationDirection.Forwards:
             relations.Add(forward);
             break;
         case RelationDirection.Backwards:
             relations.Add(forward.Reverse());
             break;
         case RelationDirection.Both:
             relations.Add(forward); 
             relations.Add(forward.DeepClone().IReverse());
             break;
     }
     return relations;
 }