public override string ToString()
        {
            string retVal = "";

            switch (ConnectionType)
            {
            case 1:
                retVal = "MPI über seriell" + " (Port: " + ComPort + ", MPI: " + CpuMpi.ToString() + ")";
                break;

            case 2:
                retVal = "MPI über seriell (Andrews Version)" + " (Port: " + ComPort + ", MPI: " + CpuMpi.ToString() + ")";
                break;

            case 3:
                retVal = "MPI über seriell (Step7 Version)" + " (Port: " + ComPort + ", MPI: " + CpuMpi.ToString() + ")";
                break;

            case 4:
                retVal = "MPI über seriell" + " (Port: " + ComPort + ", MPI: " + CpuMpi.ToString() + ")";
                break;

            case 10:
                retVal = "PPI über seriell";
                break;

            case 20:
                retVal = "AS 511";
                break;

            case 50:
                retVal = "Step7 DLL" + " (" + EntryPoint + ")";
                break;

            case 122:
                retVal = "ISO over TCP" + " (IP:" + CpuIP.ToString() + ",Rack:" + CpuRack.ToString() + ",Slot:" + CpuSlot.ToString() + ")";
                break;

            case 123:
                retVal = "ISO over TCP (CP243)" + " (IP:" + CpuIP.ToString() + ",Rack:" + CpuRack.ToString() + ",Slot:" + CpuSlot.ToString() + ")";
                break;

            case 223:
                retVal = "Netlink lite" + " (IP:" + CpuIP.ToString() + ")";
                break;

            case 224:
                retVal = "Netlink lite PPI" + " (IP:" + CpuIP.ToString() + ")";
                break;

            case 230:
                retVal = "Netlink PRO" + " (IP:" + CpuIP.ToString() + ")";
                break;

            case 500:
                retVal = "Fetch/Write (Active)" + " (IP:" + CpuIP.ToString() + ", Port:" + Port + ", WritePort:" + WritePort + ")";
                break;

            case 501:
                retVal = "Fetch/Write (Passive)" + " (IP:" + CpuIP.ToString() + ", Port:" + Port + ", WritePort:" + WritePort + ")";
                break;
            }

            if (Routing)
            {
                if (!RoutingDestination.Contains("."))
                {
                    retVal += " (Routing: MPI/PB:" + RoutingDestination + ",Netz:" + RoutingSubnet1.ToString("X") + "-" + RoutingSubnet2.ToString("X") + ")";
                }
                else
                {
                    retVal += " (Routing: IP:" + RoutingDestination + ",Rack:" + RoutingDestinationRack.ToString() + ",Slot:" + RoutingDestinationSlot.ToString() + ",Netz:" + RoutingSubnet1.ToString("X") + "-" + RoutingSubnet2.ToString("X") + ")";
                }
            }
            return(retVal);
        }
        public override string ToString()
        {
            string retVal = "";

            switch (ConnectionType)
            {
            case LibNodaveConnectionTypes.MPI_über_Serial_Adapter:
                retVal = "MPI über seriell" + " (Port: " + ComPort + ", MPI: " + CpuMpi.ToString() + ")";
                break;

            case LibNodaveConnectionTypes.MPI_über_Serial_Adapter_Andrews_Version_without_STX:
                retVal = "MPI über seriell (Andrews Version)" + " (Port: " + ComPort + ", MPI: " + CpuMpi.ToString() + ")";
                break;

            case  LibNodaveConnectionTypes.MPI_über_Serial_Adapter_Step_7_Version:
                retVal = "MPI über seriell (Step7 Version)" + " (Port: " + ComPort + ", MPI: " + CpuMpi.ToString() + ")";
                break;

            case  LibNodaveConnectionTypes.MPI_über_Serial_Adapter_Adrews_Version_with_STX:
                retVal = "MPI über seriell" + " (Port: " + ComPort + ", MPI: " + CpuMpi.ToString() + ")";
                break;

            case  LibNodaveConnectionTypes.PPI_über_Serial_Adapter:
                retVal = "PPI über seriell";
                break;

            case  LibNodaveConnectionTypes.AS_511:
                retVal = "AS 511";
                break;

            case LibNodaveConnectionTypes.Use_Step7_DLL:
            case LibNodaveConnectionTypes.Use_Step7_DLL_Without_TCP:
                retVal = "Step7 DLL" + " (" + EntryPoint + ")";
                break;

            case  LibNodaveConnectionTypes.ISO_over_TCP:
                retVal = "ISO over TCP" + " (IP:" + CpuIP.ToString() + ",Rack:" + CpuRack.ToString() + ",Slot:" + CpuSlot.ToString() + ")";
                break;

            case  LibNodaveConnectionTypes.ISO_over_TCP_CP_243:
                retVal = "ISO over TCP (CP243)" + " (IP:" + CpuIP.ToString() + ",Rack:" + CpuRack.ToString() + ",Slot:" + CpuSlot.ToString() + ")";
                break;

            case LibNodaveConnectionTypes.Netlink_lite:
                retVal = "Netlink lite" + " (IP:" + CpuIP.ToString() + ")";
                break;

            case LibNodaveConnectionTypes.Netlink_lite_PPI:
                retVal = "Netlink lite PPI" + " (IP:" + CpuIP.ToString() + ")";
                break;

            case LibNodaveConnectionTypes.Netlink_Pro:
                retVal = "Netlink PRO" + " (IP:" + CpuIP.ToString() + ")";
                break;

            case LibNodaveConnectionTypes.Fetch_Write_Active:
                retVal = "Fetch/Write (Active)" + " (IP:" + CpuIP.ToString() + ", Port:" + Port + ", WritePort:" + WritePort + ")";
                break;

            case LibNodaveConnectionTypes.Fetch_Write_Passive:
                retVal = "Fetch/Write (Passive)" + " (IP:" + CpuIP.ToString() + ", Port:" + Port + ", WritePort:" + WritePort + ")";
                break;
            }

            if (Routing)
            {
                if (!RoutingDestination.Contains("."))
                {
                    retVal += " (Routing: MPI/PB:" + RoutingDestination + ",Netz:" + RoutingSubnet1.ToString("X") + "-" + RoutingSubnet2.ToString("X") + ")";
                }
                else
                {
                    retVal += " (Routing: IP:" + RoutingDestination + ",Rack:" + RoutingDestinationRack.ToString() + ",Slot:" + RoutingDestinationSlot.ToString() + ",Netz:" + RoutingSubnet1.ToString("X") + "-" + RoutingSubnet2.ToString("X") + ")";
                }
            }
            return(retVal);
        }