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);
我有一个应用程序,其中所有代码都在一个文件中,所以我正在考虑整理它并为一些重复出现的代码创建单独的 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);