コード例 #1
0
ファイル: PointerDCNC.cs プロジェクト: Brondahl/MDMUtils
        void IDirectedConnectedNodeCollection <T> .RemoveNode(IDirectedConnectedNode <T> targetNode)
        {
            if (Helpers <T> .CheckWhether_RemoveNode_IsNeeded(targetNode, this))
            {
                return;
            }

            var typedNode = TypedHelpers.GetNodeAsValidType <PointerDCN <T>, T>(targetNode);

            foreach (var typedConnectedToNode in targetNode.GetNodesConnected(ConnectionDirection.Any).Select(node => TypedHelpers.GetNodeAsValidType <PointerDCN <T>, T>(node)))
            {
                typedConnectedToNode.InternalRemoveNodeConnectionRequest(typedNode, ConnectionDirection.Any);
            }
            this.InternalRemoveNodeRequest(typedNode);
            typedNode.InternalDeleteParentCollectionRequest();
        }
コード例 #2
0
ファイル: PointerDCNC.cs プロジェクト: Brondahl/MDMUtils
        IEnumerable <IDirectedConnectedNode <T> > IDirectedConnectedNodeCollection <T> .GetNodesConnected(IDirectedConnectedNode <T> firstNode, ConnectionDirection direction)
        {
            Helpers <T> .Verify_GetNodesConnected_ConditionsAreSatisfied(firstNode, this);

            return(firstNode.GetNodesConnected(direction));
        }