public void DropMulticastGroup(IPAddress multicastAddr)
{
CheckDisposed();
if (multicastAddr == null)
throw new ArgumentNullException("multicastAddr");
if (family == AddressFamily.InterNetwork)
socket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.DropMembership,
new MulticastOption(multicastAddr));
else
socket.SetSocketOption(SocketOptionLevel.IPv6, SocketOptionName.DropMembership,
new IPv6MulticastOption(multicastAddr));
}