我正在尝试为一个C#应用程序添加一些新功能,特别是尝试复制它的某些行为,但是在Web浏览器中而不是在当前应用程序中。
我正在尝试从
该方法在
我现在试图从
但这给我带来了一个编译错误,显示为:
我正在尝试从
MainWindow.cs
类中的一个方法调用已在Browser.cs
类中定义的方法。该方法在
Browser.cs
中定义为:public partial class Browser : Form{
public Browser(){
...
}
public void Browser_Load(object sender, EventArgs e){
webKitBrowser1.Navigate("https://google.com");
}
...
}
我现在试图从
MainWindow.cs
中调用它,代码如下:public partial class MainWindow : Window{
...
public MainWindow(){
...
Browser mBrowser = new Browser();
Object sender = new Object();
EventArgs e = new EventArgs();
mBrowser.Browser_Load(sender, e);
...
}
...
}
但是,我得到了一个编译错误,错误提示如下:
无法在此范围内声明名为'e'的局部变量或参数,因为该名称在封闭的局部范围内用于定义局部变量或参数
这是什么意思?我以前从未遇到过这种错误-我在与声明变量相同的作用域内使用该变量-它所说的“封闭本地作用域”是什么意思?是因为我在方法调用 mBrowser.Browser_Load(sender, e)
的括号内使用了 e
吗?
毫无疑问,由于对此方法的调用与我定义 e
的作用域相同,因此它不应该是作用域的问题吧?
我尝试使用以下方法进行调用:
mBrowser.Browser_Load(sender, EventArgs e);
但这给我带来了一个编译错误,显示为:
'EventArgs'是一种类型,在给定的上下文中无效。
有人能指出我在这里做错了什么吗?我应该怎么做才能正确调用这个方法呢?
catch(Exception e)
的语句? - SeanmBrowser.Browser_Load(sender, EventArgs e);
不是有效的,你需要使用mBrowser.Browser_Load(sender, e);
,只是说一下。 - Mafii