(11).设置IP地址,子网掩码,网关,DNS
/// <summary>
/// 设置IP地址,子网掩码,网关,DNS,
/// </summary>
public bool SetIpAddressSubMaskDnsGetway(string ipAddress, string subMask, string getWay, string dnsMain, string dnsBackup)
{
string[] dnsArray;
if (string.IsNullOrEmpty(dnsBackup))
{
dnsArray = new[] { dnsMain };
}
else
{
dnsArray = new[] { dnsMain, dnsBackup };
}
return SetIpAddress(new[] { ipAddress }, new[] { subMask }, new[] { getWay }, dnsArray);
}
/// <summary>
/// 设置IP地址和子网掩码
/// </summary>
public bool SetIpAddressAndSubMask(string ipAddress, string subMask)
{
return SetIpAddress(new[] { ipAddress }, new[] { subMask }, null, null);
}
/// <summary>
/// 设置IP网关
/// </summary>
public bool SetGetWayAddress(string getWay)
{
return SetIpAddress(null, null, new[] { getWay }, null);
}
(12).设置主,备份DNS地址
/// <summary>
/// 设置主,备份DNS地址
/// </summary>
public bool SetDnsAddress(string dnsMain, string dnsBackup)
{
string[] dnsArray;
if (string.IsNullOrEmpty(dnsBackup))
{
dnsArray = new[] { dnsMain };
}
else
{
dnsArray = new[] { dnsMain, dnsBackup };
}
return SetIpAddress(null, null, null, dnsArray);
}
(13).得到IPV4地址
/// <summary>
/// 得到IPV4地址
/// </summary>
/// <returns></returns>
private UnicastIPAddressInformation GetAddress()
{
if (IpAddresses == null || IpAddresses.Count <= 0) return null;
switch (IpAddresses.Count)
{
case 3:
return IpAddresses[2];
case 2:
return IpAddresses[1];
}
return IpAddresses[0];
}
(14).检查设置IP地址,如果返回空,表示检查通过,为了方便返回就字符串了
/// <summary>
/// 检查设置IP地址,如果返回空,表示检查通过,为了方便返回就字符串了,没用枚举了
/// </summary>
/// <param name="ipAddress"></param>
/// <param name="subMask"></param>
/// <param name="getWay"></param>
/// <param name="dnsMain"></param>
/// <param name="dnsBackup"></param>
/// <returns></returns>
public string IsIPAddress(string ipAddress, string subMask, string getWay, string dnsMain, string dnsBackup)
{
if (!string.IsNullOrEmpty(ipAddress))
{
if (!IsIPAddress(ipAddress)) return "IP地址格式不对";
}
if (!string.IsNullOrEmpty(subMask))
{
if (!IsIPAddress(subMask)) return "子网掩码格式不对";
}
if (!string.IsNullOrEmpty(getWay))
{
if (!IsIPAddress(getWay)) return "网关地址格式不对";
}
if (!string.IsNullOrEmpty(dnsMain))
{
if (!IsIPAddress(dnsMain)) return "主DNS地址格式不对";
}
if (string.IsNullOrEmpty(dnsBackup)) return "";
return !IsIPAddress(dnsBackup) ? "备用DNS地址格式不对" : "";
}










