Usando CookieContainer com classe WebClient

Eu usei anteriormente um CookieContainer com sessões HttpWebRequest e HttpWebResponse, mas agora, eu quero usá-lo com um WebClient. Tanto quanto eu entendo, não há nenhum método embutido como existe para HttpWebRequests (request.CookieContainer).Como posso coletar cookies de um WebClient em um CookieContainer?

I pesquisei por isso e encontradoa seguinte amostra:

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;
    }
}

Esse é o melhor jeito de fazer isso?

questionAnswers(5)

yourAnswerToTheQuestion