If () и Namespace

  • Автор темы Niceday
  • Дата начала
Статус
Закрыто для дальнейших ответов.
N

Niceday

#1
вот собственно код:
Код:
for (i = 0; i < 30; i++)
{
childCounter++;
if (i != 3000)
{
table frm = new table();
frm.MdiParent = this;
frm.Tag = childCounter;

}
RadioButton btn = new RadioButton();
btn.Appearance = Appearance.Button;
btn.Text = frm.Text + " " + childCounter.ToString();
btn.Tag = childCounter;
btn.CheckedChanged += new EventHandler(this.button_Click);
btn.Location = new Point(((childCounter - 1) * (btn.Width + 3)) + 2 + this.panel1.DisplayRectangle.X, 3);
this.panel1.Controls.Add(btn);
btn.Checked = true;
if (!scrollPanel && (btn.Location.X + btn.Width > this.panel1.Width))
{
scrollPanel = true;
this.panel1.Height += 15;
}
frm.Show();
frm.Dock = DockStyle.Fill;
}
а теперь сам вопрос:
программа ведь в if должна заходить вседа, но говорит что за if'ом ошибка The name 'rfm' does not exist in the current context.
а кода убираем if и скобки или все что за if'ом вносим в него, все работает создается 30 одинаквых дочерних окон
но проблема в том что мне надо сделать switch или иф на счетчик фора и создавать разные окна, например:
table frm = new table();
xxx frm = new xxx();

а просто сделать 30 if'ов по 40 сток, 37 из которых одинаковые думаю не лучшее решение.
 
M

mr_ST

#2
Это просто праздник какой-то!

Даракой друк, как вы думаете в чем заключается сакральный смысл достопочтенного оператора if? Мне коллеги по цеху нашептали, что "программа иногда не должна заходить" в if. (ходячая программа, однако, вызывает у меня очень странные наркологические фантазии) По что, спрашиваю я вас, вы входите в иф так часто, я бы даже сказал, постоянно, ему ведь может быть больно? В общем после долгих консультаций с врачами коллегами, мы пришли к выводу что в вашем случае 30 ифов из бест чойс.
 
G

Gelis

#3
<!--QuoteBegin-Niceday+14:03:2007, 12:16 -->
<span class="vbquote">(Niceday @ 14:03:2007, 12:16 )</span><!--QuoteEBegin-->table frm = new table();
[snapback]59016" rel="nofollow" target="_blank[/snapback]​
[/quote]
Ну и правильно на вас компилятор ругается. Ведь переменная объявленная внутри { } живет до }. И за } никакой код не знает про эту переменную.
 
N

Niceday

#4
Ладно прощай оптимизация кода, будем писать 30 if :)
 
Статус
Закрыто для дальнейших ответов.