C# Параметр конструктора должен заполняться во время выполнения - PullRequest
0 голосов
/ 24 января 2020

У меня следующая проблема. Я хочу заполнить свой конструктор параметрами во время выполнения:

public Telegramme(int Sender, int Receiver, string Content, string length)
{
    ... 
}

Так, когда у меня есть GUI с TextBox es, senderTextBox например; senderTextBox для содержимого int Sender; как я могу дать своему конструктору эту информацию?

Ответы [ 2 ]

4 голосов
/ 24 января 2020

Вы можете TryParse передать string значения в соответствующие int локальные переменные:

  if (int.TryParse(senderTextBox.Text, out int sender) &&
      int.TryParse(receiverTextBox.Text, out int receiver)) {

    // Both senderTextBox.Text and receiverTextBox.Text contain valid values
    // which are parsed into integer sender and receiver variables

    Telegramme telegramme = new Telegramme(
      sender,
      receiver,
      contentTextBox.Text,        //TODO: put the right values here
      contentTextBox.Text.Length            
    );

    //TODO:Put relevant code here
  }
  else {
    // Invalid values in senderTextBox.Text or / and receiverTextBox.Text 

    //TODO:Put relevant code here
  }   
0 голосов
/ 24 января 2020

Здравствуйте, invictuswarrior,

вам следует привязать содержимое вашего текстового поля к свойству модели представления.

Чем использовать свойство модели представления в вашем классе телеграммы. Таким образом, у вас всегда есть доступ к содержимому вашего текстового поля, и вы отделяете пользовательский интерфейс от своего класса телеграмм.

Сделайте то же самое для других параметров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...