Usando CookieContainer con la clase WebClient

Anteriormente he usado un CookieContainer con sesiones HttpWebRequest y HttpWebResponse, pero ahora, quiero usarlo con un cliente web. Por lo que entiendo, no hay un método incorporado como el que hay para HttpWebRequests (request.CookieContainer).¿Cómo puedo recopilar cookies de un cliente web en un CookieContainer?

I googleado para esto y encontradola siguiente muestra:

public class CookieAwareWebClient : WebClient
{
    private readonly CookieContainer m_container = new CookieContainer();

    protected override WebRequest GetWebRequest(Uri address)
    {
        WebRequest request = base.GetWebRequest(address);
        HttpWebRequest webRequest = request as HttpWebRequest;
        if (webRequest != null)
        {
            webRequest.CookieContainer = m_container;
        }
        return request;
    }
}

¿Es esta la mejor manera de hacerlo?

Respuestas a la pregunta(5)

Su respuesta a la pregunta