/// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public static NetworkCard[] GetAllNetworkCards()
        {
            NetworkInterface[] cards = (from nic in
                                        NetworkInterface.GetAllNetworkInterfaces()
                                        where (nic.NetworkInterfaceType == NetworkInterfaceType.Ethernet || nic.NetworkInterfaceType == NetworkInterfaceType.Wireless80211)
                                        select nic).ToArray();

            NetworkCard[] networkCards = new NetworkCard[cards.Length];

            for (int i = 0; i < cards.Length; i++)
            {
                double bs = cards[i].GetIPv4Statistics().BytesSent;
                double br = cards[i].GetIPv4Statistics().BytesReceived;
                double bt = bs + br;
                double bw = 0;
                double ut = GetNetworkUtilization(cards[i].Description, out bw);

                networkCards[i] = new NetworkCard(
                    cards[i].Description,
                    cards[i].Name,
                    cards[i].NetworkInterfaceType,
                    bs,
                    br,
                    bt,
                    bw,
                    ut);
            }

            return(networkCards);
        }
 /// <summary>
 ///
 /// </summary>
 /// <returns></returns>
 public NetworkCard[] GetActiveNetworkCards()
 {
     return(NetworkCard.GetActiveNetworkCards());
 }
 public NetworkCard[] GetNetworkCards()
 {
     return(NetworkCard.GetAllNetworkCards());
 }