示例#1
0
 protected override void ProcessIdentifiableItems(IIdentifiable identifiable, IObjectNode collection, NodeIndex index)
 {
     if (propertyGraphDefinition.IsTargetItemObjectReference(collection, index, identifiable))
     {
         externalReferences.Add(identifiable);
         if (!externalReferenceAccessors.TryGetValue(identifiable, out var accessors))
         {
             externalReferenceAccessors.Add(identifiable, accessors = new List <NodeAccessor>());
         }
         accessors.Add(CurrentPath.GetAccessor());
     }
     else
     {
         internalReferences.Add(identifiable);
     }
 }
示例#2
0
 protected override void ProcessIdentifiableMembers(IIdentifiable identifiable, IMemberNode member)
 {
     if (propertyGraphDefinition.IsMemberTargetObjectReference(member, identifiable))
     {
         externalReferences.Add(identifiable);
         if (!externalReferenceAccessors.TryGetValue(identifiable, out var accessors))
         {
             externalReferenceAccessors.Add(identifiable, accessors = new List <NodeAccessor>());
         }
         accessors.Add(CurrentPath.GetAccessor());
     }
     else
     {
         internalReferences.Add(identifiable);
     }
 }