在我正在编写的相对简单的C#程序中,我正在尝试创建一个事件处理程序函数,以处理多个来源,如下所示:
该函数用于窗口切换。 问题在于变量一旦退出if语句就会超出作用域。我这样做是因为,查看我定义的处理每个事件的一系列函数时,它们都是相同的,除了一个变量声明外。有没有办法让这个工作,或者我只能坚持为每个事件处理程序使用一个函数?
private void fooHandler(object sender, RoutedEventArgs e)
{
fooObject objectFoo = (fooObject)sender;
if (objectFoo.name == "bla1"){
bla1Window bla = new bla1Window();
}
if (objectFoo.name == "bla2"){
bla2Window bla = new bla2Window();
}
.
.
.
else{
//default stuff happens
}
bla.Left = this.Left
bla.Top = this.Top
bla.Show();
this.Close();
}
该函数用于窗口切换。 问题在于变量一旦退出if语句就会超出作用域。我这样做是因为,查看我定义的处理每个事件的一系列函数时,它们都是相同的,除了一个变量声明外。有没有办法让这个工作,或者我只能坚持为每个事件处理程序使用一个函数?
var
需要被赋予一个初始值,以便它“知道类型”。var objectFoo = (object)null;
只有这么多用处啦 ;-)dynamic
没有这个问题,但是... - user166390