C#网络适配器简单操作

2019-12-30 14:26:24王冬梅

网络的相关设置在项目开发中有较多的应用,有时候需要在项目中对网络信息进行相关设置。

现在提供提供几种相关的辅助方法类。

(1).IP地址


/// <summary>
  /// IP地址
  /// </summary>
  public string IpAddress
  {
   get
   {
    string ipAddress;
    var address = GetAddress();
    if (address == null)
    {
     ipAddress = string.Empty;
    }
    else
    {
     ipAddress = address.Address.ToString();
    }
    return ipAddress;
   }
   set { if (value == null) throw new ArgumentNullException(nameof(value)); }
  }

(2).网关地址


  /// <summary>
  /// 网关地址
  /// </summary>
  public string Getway
  {
   get
   {    
    string getway;
    if (Getwaryes != null && Getwaryes.Count > 0)
    {

     getway = Getwaryes[0].Address.ToString() == "0.0.0.0" ? "" : Getwaryes[0].Address.ToString(); 
    }
    else
    {
     getway =string.Empty;
    }
    return getway;
   }
   set { if (value == null) throw new ArgumentNullException(nameof(value)); }
  }

(3). DHCP服务器地址


  /// <summary>
  /// DHCP服务器地址
  /// </summary>
  public string DhcpServer
  {
   get
   {
    string dhcpServer;
    if (DhcpServerAddresses != null && DhcpServerAddresses.Count > 0)
    {
     dhcpServer = DhcpServerAddresses[0].ToString();
    }
    else
    {
     dhcpServer = string.Empty;
    }
    return dhcpServer;
   }
   set { if (value == null) throw new ArgumentNullException(nameof(value)); }
  }

(4).MAC地址


  /// <summary>
  /// MAC地址
  /// </summary>
  public string MacAddres
  {
   get
   {
    string macAddress;
    if (MacAddress == null)
     macAddress = string.Empty;
    else if (MacAddress.ToString().Length == 12)
    {
     macAddress = MacAddress.ToString().Insert(4, "-").Insert(9, "-");
    }
    else
    {
     macAddress = MacAddress.ToString();
    }
    return macAddress;
   }
   set { if (value == null) throw new ArgumentNullException(nameof(value)); }
  }

(5). 主DNS地址


  /// <summary>
  /// 主DNS地址
  /// </summary>
  public string DnsMain
  {
   get
   {
    var dnsMain =string.Empty;

    if (DnsAddresses.Count > 0)
    {
     if (IsIPAddress(DnsAddresses[0].ToString()))
     {
      dnsMain = DnsAddresses[0].ToString();
     }
    }
    else
    {
     dnsMain =string.Empty;
    }
    return dnsMain;
   }
   set { if (value == null) throw new ArgumentNullException(nameof(value)); }
  }

(6).备用DNS地址


  /// <summary>
  /// 备用DNS地址
  /// </summary>
  public string DnsBackup
  {
   get
   {
    var dnsBackup = string.Empty;
    if (DnsAddresses.Count > 1)
    {
     if (IsIPAddress(DnsAddresses[1].ToString()))
     {
      dnsBackup = DnsAddresses[1].ToString();
     }

    }
    else
    {
     dnsBackup = string.Empty;
    }
    return dnsBackup;
   }
   set { if (value == null) throw new ArgumentNullException(nameof(value)); }
  }