• Как изменить textbox формы из другого класса?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    private void Cl_SendMessage(string mess)
    {
        // если метод вызывается не из потока, к которому привязана форма
        // https://msdn.microsoft.com/ru-ru/library/system.windows.forms.control.invokerequired.aspx
        if (this.InvokeRequired)
        {
          // делаем вызов из потока формы
          // https://msdn.microsoft.com/ru-ru/library/zyzhdc6b.aspx
          this.Invoke(new Action<string>(this.Cl_SendMessage), mess);
          // уходим из этого метода
          return;
          // или можно в условии сделать else
          // кому как больше нравится
        }
        // else {
    
        // код находящийся здесь будет выполняться только если 
        // текущий поток - это поток в котором находится форма
        chatLogTB.Text += mess;
    
       // }
    }
    Ответ написан
    8 комментариев
  • Сколько принципов в ООП на самом деле?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    ООП само по себе абстракция, и изначально не относилось к программированию.

    Если вам для жизни - нужно просто научиться писать хорошие объекты, и понимать что это такое.
    Если вам академически для экзамена - то ищите источник, которым руководствуется ваш препод, иначе не попадете на 100%.

    Если вам просто для себя - истина где-то рядом. ООП, как его определили в первоисточнике, и как он выглядит сейчас - весьма разные вещи, потому что принцип - одно, реализация - другое.
    Все эти наследования, полиформизмы - это попытки убрать дублируемость кода, что в функциональном программировании решалось проще (в силу более простого подхода).

    Главная суть ООП - объект это в первую очередь данные.
    И методы, которые манипулируют этими данными и предоставляют внешний интерфейс.
    Ответ написан
    Комментировать