Exemple #1
0
 //用来判定两条link是否为相等
 public static bool IsEqual(BackPlaneLink link1, BackPlaneLink link2)
 {
     //1.同一条Link
     if (link1 == link2)
     {
         return(true);
     }
     //2.不同Link但是end1,end2相反,视为equal
     if (link1.LinkType == link2.LinkType)
     {
         if (link1.FirstEndId == link2.SecondEndId &&
             link1.FirstEndPostion == link2.SecondEndPostion &&    //link1的end1与link2的end2相等
             link1.SecondEndId == link2.FirstEndId &&
             link1.SecondEndPostion == link2.FirstEndPostion)      //link1的end2与link2的end1相等
         {
             return(true);
         }
     }
     return(false);
 }
        }                                                     //该连接是否有效

        public ContainerLink(BackPlaneLink bpLink, bool isValid)
            : base(bpLink.FirstEndId, bpLink.FirstEndPostion, bpLink.SecondEndId, bpLink.SecondEndPostion, bpLink.LinkType)
        {
            IsConnectValid = isValid;
        }