Си диез / Говнокод #4819 Ссылка на оригинал

0

  1. 1
  2. 2
if(!string.IsNullOrEmpty(((AccessLevelObject)cbAccessLevel.SelectedItem).Description))
        txtAccessLevelDescription.Text = ((AccessLevelObject)cbAccessLevel.SelectedItem).Description;

догадайтесь что здесь лишнее )))

Запостил: Maxim546 Maxim546, (Updated )

Комментарии (14) RSS

    • Как-то так.
      if (!string.IsNullOrEmpty(cbAccessLevel.Sel ectedItem as string))
      txtAccessLevelDescription.Text = cbAccessLevel.SelectedItem as string;
      Ответить
        • Смотри,
          cbAccessLevel - это ComboBox, и у него есть свойство SelectedItem, которое object.
          txtAccessLevelDescription - это TextBox, и у него есть свойство Text.
          AccessLevelObject - это какой-то свой класс, у которого есть Description и походу explicit conversion из object.

          В общем AccessLevelObject сдесь лишний. Вообще непонятно зачем он тут.
          Ответить
          • class AccessLevelObject
            {
            public AccessLevelObject()
            {

            }
            public AccessLevelObject(DataRow row)
            {
            this.Id = Convert.ToInt32(row["id"]);
            this.Lvl = row["Lvl"].ToString();
            this.Description = row["Description"] == null ? "" : row["Description"].ToString();
            }

            public int Id
            {
            get;
            set;
            }

            public string Lvl
            {
            get;
            set;
            }

            public string Description
            {
            get;
            set;
            }

            //public override string ToString()
            //{
            // return Lvl.ToString();
            //}
            }
            Ответить
      • Только если AccessLevelObject.Description равно AccessLevelObject.toString() (или как там это в C# звучит).
        Ответить
      • AccessLevelObject alo = cbAccessLevel as AccessLevelObject;
        if (alo != null && !String.IsNullOrEmpty(alo.Description))
            txtAccessLevelDescription.Text = alo.Description;
        Ответить
        • 1) cbAccessLevel.SelectedItem.
          2) Проверка на null излишня (автор сам заполнял ComboBox AccessLevelObject-ами).
          3) Если уж выделять переменную, то ((AccessLevelObject)cbAccessLevel.Select edItem).Description.
          4) В целом это вопрос вкуса (стиля) -- дублирование кода против лишней строчки и переменной.
          Ответить
  • зачем нужен
    if(!string.IsNullOrEmpty(((AccessLevelOb ject)cbAccessLevel.SelectedItem).Descrip tion))
    ??? это лишнее ))) так как ничего страшного не произойдёт если текст-боксу присвоить нулл(ничего не отобразит) а вот проверка cbAccessLevel.SelectedItem на тру - нужна ))
    Ответить
    • Ну я как-бы подумал, что это для того чтобы когда в txtAccessLevelDescription.Text есть некое значение, и когда в cbAccessLevel.SelectedItem пустой текст, то нужно оставить то что было, иначе присвоить новое.
      Если это не требуется, то я с вами согласен на все 100.
      Ответить

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8