Fix implicit operator IPAddress(IPv6)
parent
b02d62c4cb
commit
e952809d31
10
net/IPv6.cs
10
net/IPv6.cs
|
@ -124,6 +124,14 @@ namespace ln.types.net
|
||||||
|
|
||||||
return bytes;
|
return bytes;
|
||||||
}
|
}
|
||||||
|
public byte[] ToPackedBytes()
|
||||||
|
{
|
||||||
|
byte[] bytes = ToBytes();
|
||||||
|
if (V4Space.Contains(this))
|
||||||
|
return bytes.Slice(12);
|
||||||
|
return bytes;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public IEnumerable<IPv6> Split(int splitWidth)
|
public IEnumerable<IPv6> Split(int splitWidth)
|
||||||
{
|
{
|
||||||
|
@ -297,7 +305,7 @@ namespace ln.types.net
|
||||||
public static IPv6 operator +(IPv6 ip, int b) => new IPv6(Words.Add(ip.value.BigEndian(), b).BigEndian(), ip.mask);
|
public static IPv6 operator +(IPv6 ip, int b) => new IPv6(Words.Add(ip.value.BigEndian(), b).BigEndian(), ip.mask);
|
||||||
public static IPv6 operator -(IPv6 ip, int b) => new IPv6(Words.Del(ip.value.BigEndian(), b).BigEndian(), ip.mask);
|
public static IPv6 operator -(IPv6 ip, int b) => new IPv6(Words.Del(ip.value.BigEndian(), b).BigEndian(), ip.mask);
|
||||||
|
|
||||||
public static implicit operator IPAddress(IPv6 ip) => new IPAddress(ip.ToBytes());
|
public static implicit operator IPAddress(IPv6 ip) => new IPAddress(ip.ToPackedBytes());
|
||||||
public static implicit operator IPv6(IPAddress ip) => new IPv6(ip.GetAddressBytes());
|
public static implicit operator IPv6(IPAddress ip) => new IPv6(ip.GetAddressBytes());
|
||||||
|
|
||||||
public static implicit operator IPv6(String s) => IPv6.Parse(s);
|
public static implicit operator IPv6(String s) => IPv6.Parse(s);
|
||||||
|
|
Loading…
Reference in New Issue