2014-01-14 5 views
0

Если у меня есть несколько переменных, которые мне нужно передать в конструктор, но не хочу передавать их отдельно, вместо передачи их с помощью функции/метода в конструктор. Является ли это возможным? Не могли бы вы привести пример синтаксиса?Передайте функцию конструктору

например.

string name_edit; 
string surname_edit; 
string phone_edit; 
string email_edit; 

private void EditContact() 
{ 
    EditedContactDetails(); 
    SecondaryForm EditContactForm = new SecondaryForm(false, name_edit, surname_edit, phone_edit, email_edit); 
    EditContactForm.testForm = this; 
    if (EditContactForm.ShowDialog() == System.Windows.Forms.DialogResult.OK) 
    { 
     fillTheList(); 
    } 
} 

Я хочу передать name_edit, surname_edit, phone_edit, email_edit, например, так:

prWindow(Contact); 
+5

Я понятия не имею, о чем вы спрашиваете. Если у вас много параметров конструктора, возможно, вам стоит подумать о создании класса POCO и отправке этого экземпляра класса вместо этого? – MarcinJuraszek

+0

Сбитый с толку вопрос без кода –

+0

Вы рассматривали возможность использования примера IOC, например, единства или mef. – Tan

ответ

2

Поместите их в классе:

class Contact 
{ 
    public string name_edit {get; set;} 
    public string surname_edit {get; set;} 
    public string phone_edit {get; set;} 
    public string email_edit {get; set;} 
} 

и изменить конструктор SecondaryForm для того, чтобы принять параметр Contact :

public SecondaryForm (Contact contact) 
{ 
    ... 
} 
Смежные вопросы