I\'m trying to generate some code in a web service. But it\'s returning 2 errors:
1) List is a type but is used like a variable
2) No overload for method \
The problem is at the line
List<Customer> li = List<Customer>();
you need to add "new"
List<Customer> li = new List<Customer>();
Additionally for the next line should be:
li.Add(new Customer{Name="yusuf", SurName="karatoprak", Number="123456"});
EDIT: If you are using VS2005, then you have to create a new constructor that takes the 3 parameters.
public Customer(string name, string surname, string number)
{
this.name = name;
this.surname = surname;
this.number = number;
}
To answer your second question:
You either need to create a constructor that takes the three arguments:
public Customer(string a_name, string a_surname, string a_number)
{
Name = a_name;
SurName = a_surname;
Number = a_number;
}
or set the values after the object has been created:
Customer customer = new Customer();
customer.Name = "yusuf";
customer.SurName = "karatoprak";
customer.Number = "123456";
li.Add(customer);
This
List<Customer> li = List<Customer>();
needs to be:
List<Customer> li = new List<Customer>();
and you need to create a Customer constructor which takes the 3 arguments you want to pass. The default Customer constructor takes no arguments.
As all the properties in the Customer
class has public setters, you don't absolutely have to create a constructor (as most have suggested). You also have the alternative to use the default parameterless constructor and set the properties of the object:
Customer c = new Customer();
c.Name = "yusuf";
c.SurName = "karatoprak";
c.Number = "123456";
li.Add(c);