2010-01-14 10 views
4

Я делаю проект резервирования авиакомпаний C#, беря данные пользователя через form1, скажем, у меня есть класс PassengerDetails с переменными класса. Теперь, по нажатию кнопки, мне нужно назначить все эти TextBox значения переменным классаПередача параметров через функцию

private void btnSubmit_Click(object sender, EventArgs e) 
{ 
    string fn = txtFname.Text; 
    string ln = txtLname.Text; 
    string add = txtAddress.Text; 
    int age = int.Parse(txtAge.Text); 
    submit(fn, ln, add, age); 
} 

Мне нужно передать эти функции. Как я могу объявить это?

+0

Пожалуйста, используйте имена лучших переменных. 'fn' и' ln' не говорят много, а 'add' просто вводит в заблуждение. Что случилось с 'firstname',' lastname' и 'address'? Intellisense напечатает его для вас после первого раза. – CodesInChaos

ответ

0

Не можете ли вы просто сделать простое задание?

public class MyClass 
{ 
    public string fn; 
    public string ln; 
public string add; 
    public int age; 
} 

отправки функции

submit(string fn, string ln, string add, int age) 
{ 
    MyClass myclass = new MyClass(); 
    myclass.fn = fn; 
    myclass.ln = ln; 
    myclass.add=add; 
    mycalss.age = age; 
} 
0

Вы бы переменные формы уровня, который хранит экземпляр вашего пассажира детали класса можно назвать, что:

Примечания: псевдокод! Не копируйте и не вставляйте!

class form1() 
{ 
    private passenger_details = new PassengerDetail() 

    private void button_click() 
    { 
     passenger_details.age = int(nameField.Text); 
    } 
} 
2

Создайте класс для данных о пассажирах и передайте это как параметр.

class Passenger 
{ 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 
    public string Address { get; set; } 
    public int Age { get; set; } 
} 

private void AddButton_Click(object sender, EventArgs e) 
{ 
    var passenger = new Passenger 
         { 
          FirstName = txtFname.Text, 
          LastName = txtLname.Text, 
          Address = txtAdd.Text, 
          Age = int.Parse(txtAge.Text) 
         }; 
    AddPassenger(passenger); 
} 
0

Можно также перегружать конструктор:

class Passenger 
{ 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 
    public string Address { get; set; } 
    public int Age { get; set; } 

    void Passenger() {} 

    void Passenger(string _firstName, string _lastName, string _address, int _age) 
    { 
      this.FirstName = _firstName; 
      this.LastName = _lastName; 
      this.Address = _address; 
      this.Age = _age; 
    } 
} 

Тогда ваше мероприятие просто назначить их при создании. (в следующем коде предполагается, что у вас есть глобальная переменная MyPassenger)

private void btnSubmit_Click(object sender, EventArgs e) 
{ 
    this.MyPassenger = new Passenger(txtFname.Text, txtLname.Text, txtAddress.Text, int.Parse(txtAge.Text));  

} 
Смежные вопросы