public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if (value == null) { return(string.Empty); } else if (value is IpAddressPresentation) { IpAddressPresentation ipAddress = value as IpAddressPresentation; return(this.CompletePart(ipAddress.PartA.ToString()) + this.CompletePart(ipAddress.PartB.ToString()) + this.CompletePart(ipAddress.PartC.ToString()) + this.CompletePart(ipAddress.PartD.ToString())); } return(string.Empty); }
private void Validate(IpAddressPresentation field, string ipStringCandidate, string propertyName, string errorMessage) { IPAddress ipTestAddress; if (!IPAddress.TryParse(ipStringCandidate, out ipTestAddress)) { MessageBox.Show(errorMessage, "Error !", MessageBoxButton.OK); throw new ValidationException(errorMessage); } else { string[] parts = ipTestAddress.ToString().Split(new char[] { '.' }); field = new IpAddressPresentation(byte.Parse(parts[0]), byte.Parse(parts[1]), byte.Parse(parts[2]), byte.Parse(parts[3])); this.OnPropertyChanged(propertyName); } }
private bool TryParseIpString(string ipText, out IpAddressPresentation ipAddressObject) { bool result; string[] parts = ipText.Split(new char[] { '.' }); byte partA = 0, partB = 0, partC = 0, partD = 0; result = (byte.TryParse(parts[0], NumberStyles.Integer, CultureInfo.InvariantCulture, out partA) && byte.TryParse(parts[1], NumberStyles.Integer, CultureInfo.InvariantCulture, out partB) && byte.TryParse(parts[2], NumberStyles.Integer, CultureInfo.InvariantCulture, out partC) && byte.TryParse(parts[3], NumberStyles.Integer, CultureInfo.InvariantCulture, out partD)); ipAddressObject = new IpAddressPresentation(partA, partB, partC, partD); return(result); }