得到一个“方法必须有一个返回类型,我真的不明白为什么。
返回错误的是“public HelpView()”部分。 (代码顶部,将其变成块引用)
Web浏览器应用程序,代码用于后退和前进按钮。
public class HelpView
{
}
List<Uri> HistoryStack;
int HistoryStack_Index;
bool fromHistory;
//Constructor
public HelpView()
{
InitializeComponent();
HistoryStack = new List<Uri>();
HistoryStack_Index = 0;
fromHistory = false;
webBrowser1.Navigated += new EventHandler<System.Windows.Navigation.NavigationEventArgs>(webBrowser1_Navigated);
updateNavButtons();
}
答案 0 :(得分:3)
helpview可能不是您班级的确切名称。如果这是构造函数,请确保方法名称与您的类名匹配。如果这是一种方法,请将其更改为
public void helpView()
答案 1 :(得分:1)
编译错误发生的原因是编译器认为您正在尝试创建方法,并且方法需要具有返回类型(或void
)。你不需要返回类型的唯一时间是你有一个构造函数,但是构造函数的规则是它们必须具有与类完全相同的名称。由于您没有相同的名称,因此编译器会像方法一样验证它。
解决方案是确保构造函数名称和类名完全相同。
响应OP的评论要求提供类定义(以及我发布答案的原因),这就是你的有效类和构造函数应该是什么样的。
请注意, CLASS NAME 和 CONSTRUCTOR NAME 必须完全相同。
public class HelpView // <- CLASS NAME
{
// Properties.
List<Uri> HistoryStack;
int HistoryStack_Index;
bool fromHistory;
// Constructor.
public HelpView() // <- CONSTRUCTOR NAME
{
InitializeComponent();
HistoryStack = new List<Uri>();
HistoryStack_Index = 0;
fromHistory = false;
webBrowser1.Navigated += new EventHandler<System.Windows.Navigation.NavigationEventArgs>(webBrowser1_Navigated);
updateNavButtons();
}
}
答案 2 :(得分:0)
如果我们引用您帖子中当前使用的代码,那么大括号的位置似乎已关闭。您为HelpView
课程打开它们,然后立即关闭。
应该是:
public class HelpView
{
List<Uri> HistoryStack;
int HistoryStack_Index;
bool fromHistory;
//Constructor
public HelpView()
{
InitializeComponent();
HistoryStack = new List<Uri>();
HistoryStack_Index = 0;
fromHistory = false;
webBrowser1.Navigated += new EventHandler<System.Windows.Navigation.NavigationEventArgs>(webBrowser1_Navigated);
updateNavButtons();
}
}