В C # для относительно простой программы, которую я пишу, я пытаюсь создать функцию-обработчик событий, которая будет обрабатывать несколько источников, например:
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. Я делаю это так, потому что, глядя на ряд функций, которые я определил для обработки каждого события по отдельности, они все одинаковы, за исключением объявления одной переменной. Есть ли способ заставить это работать, или мне просто нужно придерживаться функции для каждого обработчика событий?