C# - "The name 'wc' does not exist in the current context" 从单独的 class 设置网络客户端时

C# - "The name 'wc' does not exist in the current context" when setting up a webclient from a separate class

我有一个应用程序,其中所有代码都在一个文件中,所以我正在考虑整理它并为一些重复出现的代码创建单独的 classes,而不是让在整个应用程序中重复相同的代码。经常重复的此类操作之一是设置 WebClient 并设置代理来执行下载图像、检查应用程序更新等操作。

我创建了一个单独的 'Proxy.cs' 文件并添加了以下代码:

class Proxy
{
    public static WebClient setProxy()
    {
        WebClient wc = new WebClient();
        wc.Proxy = null;

        if (Properties.Settings.Default.useProxy == true)
        {
            WebProxy proxy = new WebProxy(Properties.Settings.Default.proxyAddress);

            if (Properties.Settings.Default.proxyAuth == true)
            {
                proxy.Credentials = new NetworkCredential(Properties.Settings.Default.proxyUser, Properties.Settings.Default.proxyPass);
                proxy.UseDefaultCredentials = false;
                proxy.BypassProxyOnLocal = false;
            }

            wc.Proxy = proxy;
        }

        return wc;
    }
}

我的想法是,当我检查更新、下载新图像等时,我每次都可以调用这个 class 来配置 WebClient/Proxy。但是我似乎无法让它工作。在我的主应用程序中,我这样称呼它:

Proxy.setProxy();
byte[] bytes = wc.DownloadData(URL);

但是我的主应用程序出现以下错误:

The name 'wc' does not exist in the current context

我对 C# 还是很陌生,无法弄清楚如何让它真正起作用。任何指针表示赞赏。

你可以试试这个

WebClient wc = Proxy.setProxy();
byte[] bytes = wc.DownloadData(URL);