// Overrides the ConvertFrom method of TypeConverter. public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) { if (value is string) { string address = (string)value; ipv6addr result = IPAddress.Parse(address); return(result); } return(base.ConvertFrom(context, culture, value)); }
public void TestIPAddressV6() { ipv6addr value = new ipv6addr(); Assert.True(value.NotConfigured); value = new IPAddress(new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }); Assert.False(value.NotConfigured); Assert.Equal(new IPAddress(new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }), (IPAddress)value); var registers = value.ToRegisters(); Assert.NotEmpty(registers); Assert.Equal(8, registers.Length); value = registers; Assert.False(value.NotConfigured); Assert.Equal(new IPAddress(new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }), (IPAddress)value); string json = JsonConvert.SerializeObject(value); var convert = JsonConvert.DeserializeObject <ipv6addr>(json); Assert.Equal(convert, value); string text = ((IPAddress)value).ToString(); convert = IPAddress.Parse(text); Assert.Equal(convert, value); }