Obtenir local adresse ip du système à l'aide de c#

Je suis à la recherche de la méthode qui permet de savoir si le système est connecté au réseau ou l'adresse ip locale lorsque les machines virtuelles sont installer sur le système.
C'est le code qui renvoie l'adresse ip locale:

 public static string LocalIPAddress()
        {
            IPHostEntry host;
            string localIP = "";
            host = Dns.GetHostEntry(Dns.GetHostName());
            foreach (IPAddress ip in host.AddressList)
            {
                if (ip.AddressFamily.ToString() == "InterNetwork")
                {
                    localIP = ip.ToString();
                }
            }
            return localIP;
        }

Mais lorsque le système n'est pas connecté au réseau, il renvoie les autres VM adresse ip.

J'ai aussi trouvé cette méthode
System.Net.NetworkInformation.NetworkInterface.isconnected méthode disponible, mais il renvoie true, même lorsque le câble réseau est débranché.

Est-il un moyen pour savoir si le système est connecté ou pas?