Редактировать : Теперь ваш вопрос отредактирован для включения примера
// example of the style of method
public void ShouldIShowOrHideButton()
{
Button.Visible = ((chkSomeSetting.Checked) && (DateTime.Now.Day < 8));
}
Мой ответ ни .Я бы сделал две вещи:
- Переместите часть
Button.Visible
за пределы функции, чтобы функция просто вычисляла логику и вернула bool
. - Назовите функцию в соответствии с ее внутренняя логика не в зависимости от того, для кнопки это или нет.Поэтому, если ваша функция проверяет день свадьбы, она будет называться
IsWeddingDay
, если она проверяет ежемесячную встречу, то будет IsMonthlyMeeting
.
Код будет
Button.Visible = IsMonthlyMeeting()
и логика может впоследствии использоваться для управления любыми другими виджетами при необходимости.
Старый ответ : Вам, вероятно, нужно объяснить больше, что делает ShowIfThisHideIfThat .
Если это зависит от одного условия, например:
if (condition)
ShowBotton()
else
HideButton()
, тогда я бы использовал
Button.SetVisibility(condition)
согласно комментарию Лазаренко выше или если у языка есть свойства:
Button.Visible = condition
Если у вас есть два условия вроде того, что ShowIfThisHideIfThat , по-видимому, подразумевает, эквивалентно:
if (cond1)
ShowButton()
else if (cond2)
HideButton()
else
LeaveButtonAsItIs()
, тогда логика, на мой взгляд, сложна, и я бы не сталне использовать одну функцию.Конечно, код эквивалентен
Button.Visible = cond1 || (!cond2 && Button.Visible)
, но вы теряете понятность.