Здравствуйте, Vaako, Вы писали:
V>ну так потом надо V>if(btn != null) V>{ V> btn.Width = 200; V>}
Разве это хорошо, что ожидается объект Button, а на вход пришло нечто другое?
Здравствуйте, Nikolay_P_I, Вы писали:
N_P>А это потому что вы неправильный вопрос решаете. Нет в реальности задачи "установить ширину кнопки". Есть задача "установить ширину конкретной кнопки". Ну или "конкретных кнопок". И решается для 1 кнопки "в лоб". N_P>
и sender может оказаться совсем не Button.
потому мне кажется второй вариант с последующим сравнением с null более универсален, а первый накладывает больше ограничений при вызове.
Особенно когда программировать лень и в обработчике выполняется некоторая функциональность из-за чего руки так и чешутся вызывать обработчик программно
Хотя это немного надуманно и мое предпочтение перед вторым вариантом наверно просто дело привычки.
Красивее выглядит
(sender as Button).Width = 200;
чем
((Button)sender).Width = 200;
Хотя тут в обоих случаях надо быть полностью уверенным что (sender is Button) == true
Здравствуйте, MxMsk, Вы писали:
MM>Здравствуйте, Vaako, Вы писали:
V>>ну так потом надо V>>if(btn != null) V>>{ V>> btn.Width = 200; V>>} MM>Разве это хорошо, что ожидается объект Button, а на вход пришло нечто другое?
Здравствуйте, Vaako, Вы писали:
V>>>ну так потом надо V>>>if(btn != null) V>>>{ V>>> btn.Width = 200; V>>>} MM>>Разве это хорошо, что ожидается объект Button, а на вход пришло нечто другое?
V>Да не хорошо.
А это потому что вы неправильный вопрос решаете. Нет в реальности задачи "установить ширину кнопки". Есть задача "установить ширину конкретной кнопки". Ну или "конкретных кнопок". И решается для 1 кнопки "в лоб".