#c# #winforms #class #methods #call
#c# #winforms #класс #методы #вызов
Вопрос:
Так что у меня есть задание Winforms для класса, и ни за что на свете эта штука не будет соответствовать.
Как программа должна работать в том, что когда я нажимаю добавить кнопку на моей форме это добавит данные из текстовых полей на объект, созданный заказчиком класса, а затем добавить этот объект в список клиентов в CustomerList класса, а затем, когда я нажимаю Создать Ярлык кнопки, он будет принимать клиентов список и установить, что в качестве выходного текстового поля.
Проблема находится в строке 49, где говорится, что мой метод принимает 8 аргументов. Я даю ему 8 аргументов, и он все равно выбивает эту ошибку.
Любая помощь в том, чтобы Метод клиента принял мои аргументы, была бы наиболее ценной.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Chapter12Project { public partial class Main : Form { public Main() { InitializeComponent(); } Listlt;stringgt; errorList = new Listlt;stringgt;(); string errorOutput = ""; private void btn_Add_Click(object sender, EventArgs e) { // Pull Strings from Text Boxes string firstName = Validator(box_FirstName.Text); string lastName = Validator(box_LastName.Text); string address1 = Validator(box_Address1.Text); string address2 = Validator(box_Address2.Text); string city = Validator(box_City.Text); string state = Validator(box_State.Text); string zip = Validator(box_Zip.Text); string phone = Validator(box_Phone.Text); // Instantiate Customer Class amp; CustomerRoster Class Customer customer = new Customer(); // Send strings to Customer setter/getter customer.FirstName = firstName; customer.LastName = lastName; customer.Address1 = address1; customer.Address2 = address2; customer.City = city; customer.State = state; customer.Zip = zip; customer.Phone = phone; customer.AddCustomerText(firstName, lastName, address1, address2, city, state, zip, phone); } private string Validator(string a) { string retOut = ""; if (string.IsNullOrEmpty(a)) { Error(2); } else { retOut = a; } return retOut; } public void Error(int a) { if (a == 0) { errorOutput = String.Join("n", errorList); box_Output.Text = errorOutput; } if (a == 1) { errorList.Add("You input has too many characters."); } if (a == 2) { errorList.Add("Inputs can not be empty."); } if (errorList.Count gt; 0) return; } CustomerList customerList = new CustomerList(); private void btn_CreateLabels_Click(object sender, EventArgs e) { string customers = customerList.GetList(); string customerListOutputString = String.Join("n", customers); box_Output.Text = customerListOutputString; } private void Clear() { box_FirstName.Text = ""; box_LastName.Text = ""; box_Address1.Text = ""; box_Address2.Text = ""; box_City.Text = ""; box_State.Text = ""; box_Zip.Text = ""; box_Phone.Text = ""; } private void btn_Clear_Click(object sender, EventArgs e) { Clear(); } private void btn_Reset_Click(object sender, EventArgs e) { Clear(); box_Output.Text = ""; customerList.ClearList(); } private void btn_Exit_Click(object sender, EventArgs e) { this.Close(); } private void Clear(object sender, EventArgs e) { } } public class Customer { private string firstName; private string lastName; private string address1; private string address2; private string city; private string state; private string zip; private string phone; public Customer() { } public Customer(string firstName, string lastName, string address1, string address2, string city, string state, string zip, string phone) { this.firstName = firstName; this.lastName = lastName; this.address1 = address1; this.address2 = address2; this.city = city; this.state = state; this.zip = zip; this.phone = phone; } // Getter/Setter public string FirstName { get { return firstName; } set { firstName = value; } } public string LastName { get { return lastName; } set { lastName = value; } } public string Address1 { get { return address1; } set { address1 = value; } } public string Address2 { get { return address2; } set { address2 = value; } } public string City { get { return city; } set { city = value; } } public string State { get { return state; } set { state = value; } } public string Zip { get { return zip; } set { zip = value; } } public string Phone { get { return phone; } set { phone = value; } } public string AddCustomerText(string sep) { return firstName sep lastName sep address1 sep address2 sep city sep state sep zip sep phone; } } public class CustomerList { int count = 0; private Listlt;Customergt; customers; public CustomerList() { customers = new Listlt;Customergt;(); } public int Count =gt; customers.Count; public void Add(Customer customer) { customers.Add(customer); } public void Add(string firstName, string lastName, string address1, string address2, string city, string state, string zip, string phone) { if (count lt; 7) { Customer c = new Customer(firstName, lastName, address1, address2, city, state, zip, phone); customers.Add(c); count ; } } public string GetList() { string customerListOutputString = String.Join("n", customers); return customerListOutputString; } public Customer GetCustomerByIndex(int i) =gt; customers[i]; public void Remove (Customer customer) { customers.Remove(customer); } public void ClearList() { customers.Clear(); } } }
Комментарии:
1. Сколько аргументов вы видите
public string AddCustomerText(string sep)
?2. Вы пытаетесь вызвать метод
AddCustomerText
, у которого есть только один аргумент. Я думаю, что вы ошибочно думаете о передаче аргументов дляnew Customer()
.3. Кроме того, люди читают ваш вопрос в браузере, а не в IDE. Номера строк здесь не помогают.
4. @gunr2171 Хорошо, так как же мне решить эту проблему? У меня есть настроенные геттеры/сеттеры и конструктор, так что мне нужно ввести, чтобы получить эту кнопку для создания клиента с помощью конструктора?
5. @stuartd Справедливое замечание, не был уверен, как большинство людей на это смотрят. Не знал, скопировали ли они его в IDE для тестирования или отправили в веб-среду разработки, такую как GDB. Я не был на вашей стороне блоков комментариев, потому что я все еще учусь.