Здравствуйте, Кирилл Осенков, Вы писали:
КО>Здравствуйте, Igor Trofimov, Вы писали:
iT>>А что будет давать someEvent.GetType() КО>на GetType() количество элементов в массиве никак не влияет, это информация о типе, а не об объекте
Мне вот непонятно — зачем идиомы одного языка втискивать в рамки другого ? Пару строк кода работы с событиями погоды не сделают — есть более насущные проблемы.
Здравствуйте, BiТ, Вы писали:
BiТ>Мне вот непонятно — зачем идиомы одного языка втискивать в рамки другого ?
Межъязыковые "прения" здесь совершенно ни при чем
Мне в данном случае плевать, как реализованы события в VB, если ты на это намекаешь
Я просто когда что-то изучаю, привык себя спрашивать, почему это так сделано, из каких соображений, есть ли в этом что-то, что можно было бы улучшить и пр. и пр. Задумался, понял, что мне лишняя проверка мешает и захотелось посмотреть, оправдана ли она или нет.
BiТ>Пару строк кода работы с событиями погоды не сделают — есть более насущные проблемы.
Точно Я для себя выводы уже сделал, всем спасибо за ответы, можем идти пить пиво
Здравствуйте, Кирилл Осенков, Вы писали:
КО>У меня скорее философский вопрос к дизайнерам языка: почему они не включили проверку на null собственно в вызов SomethingChanged, чтобы не приходилось каждый раз писать эту логику явно?
У меня есть философский ответ — C# немножко более низкоуровневый язык. Отстутствие автоматической проверки на null следствие большей гибкости при работе с полями-делегатами напрямую. В частности в шарпе можно отказаться от multicast delegate и реализовывать списки самостоятельно, а в таком разрезе возможность хранить null вместо делегата бывает полезна.
Добрый день.
Прошу прощения за глупый вопрос, но никак не могу разобраться:
у меня есть форма1, где имеется таблица.
форма1 один по загрузке, заполняет таблицу.
На форме1 имеет также кнопка, по нажатию которой открывается другая форма — форма2. Так вот при закрытии формы2, мне нужно, чтобы в форме1 происходило то-же событие что и при её (читай форма1) загрузке — заполнение таблицы.
Здравствуйте, elyorchik, Вы писали:
E>у меня есть форма1, где имеется таблица. E>форма1 один по загрузке, заполняет таблицу. E>На форме1 имеет также кнопка, по нажатию которой открывается другая форма — форма2. Так вот при закрытии формы2, мне нужно, чтобы в форме1 происходило то-же событие что и при её (читай форма1) загрузке — заполнение таблицы.
Надеюсь я правильно понял постановку задачи
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
FillData(); // заполняем твою таблицу в первый раз
}
void FillData()
{
MessageBox.Show("Filling the table");
}
private void button1_Click(object sender, EventArgs e)
{
Form2 newForm = new Form2(); // создаём новый экземпляр формы 2
newForm.FormClosed += newForm_FormClosed; // подписываемся на закрытие этой формы
newForm.Show(); // показываем
}
void newForm_FormClosed(object sender, FormClosedEventArgs e)
{
Form2 closedForm = sender as Form2;
if (closedForm == null)
{
return;
}
closedForm.FormClosed -= newForm_FormClosed; // очень многие забывают потом отписаться
FillData();
}
}