Existe uma maneira de detectar que tipo de conexão eu estou usando? WiFi, 3G ou Ethernet?

Estou tentando detectar que tipo de conexão de rede estou conectado. é WiFi ou 3G? Existe uma maneira de fazer isso usando c # win forms .net 2.0 ou 4.0?

        foreach (NetworkInterface adapter in adapters)
        {
            if (adapter.OperationalStatus == OperationalStatus.Up)
            {
                if (adapter.NetworkInterfaceType == NetworkInterfaceType.Wireless80211)
                {
                    lblNetworkType.Text = "you are using WiFi";
                    break;
                }
                else if (adapter.NetworkInterfaceType == NetworkInterfaceType.Ppp)
                {
                    lblNetworkType.Text = "you are using 3G or ADSL or Dialup";
                    break;
                }
                else if (adapter.NetworkInterfaceType == NetworkInterfaceType.Ethernet)
                {
                    lblNetworkType.Text = "you are using Ethernet";
                    break;
                }
            }
        }

questionAnswers(1)

yourAnswerToTheQuestion