public static bool TryParse(string source, out AccessListEntry target) { if (String.IsNullOrEmpty(source)) { throw new ArgumentException("source can neither be null nor empty", "source"); } string[] parts = source.Split('-'); if (parts.Length == 2) { IPAddress start; IPAddress end; if (IPAddress.TryParse(parts[0].Trim(), out start) && IPAddress.TryParse(parts[1].Trim(), out end)) { for (int i = 0; i < start.GetAddressBytes().Length; i++) { if (start.GetAddressBytes()[i] > end.GetAddressBytes()[i]) { target = null; return(false); } } target = new AccessIPRange(start, end); return(true); } } target = null; return(false); }
public static bool TryParse(string source, out AccessListEntry target) { if (String.IsNullOrEmpty(source)) throw new ArgumentException("source can neither be null nor empty", "source"); string[] parts = source.Split('-'); if (parts.Length == 2) { IPAddress start; IPAddress end; if (IPAddress.TryParse(parts[0].Trim(), out start) && IPAddress.TryParse(parts[1].Trim(), out end)) { for (int i = 0; i < start.GetAddressBytes().Length; i++) { if (start.GetAddressBytes()[i] > end.GetAddressBytes()[i]) { target = null; return false; } } target = new AccessIPRange(start, end); return true; } } target = null; return false; }
public override bool Equals(object obj) { if (obj is AccessIPRange) { AccessIPRange tmp = obj as AccessIPRange; return((StartAddress.Equals(tmp.StartAddress)) && (EndAddress.Equals(tmp.EndAddress))); } return(false); }