Khi làm việc với Com đặc biệt là Office Com Component, có rất nhiều phương thức của Com đòi hỏi nhiều tham số truyền vào.
Named và Optional Arguments là 1 đặc trưng mới của C# 4.0, về mặt ý nghỉa thì mình tạm đặt là Các tham số tùy chọn và tham số được đặt tên, Cả hai kỹ thuật này có thể sử dụng đối với các phương thức, indexers, constructores và delegates, để cho đơn giản chúng ta nhìn vào phương thực này.
// A method with nameed and optional parameters
public static void Search(string name, int age = 21, string city = "Pueblo")
{
Console.WriteLine("Name = {0} - Age = {1} - City = {2}", name, age, city);
}
Ở phương thức Search các tham số tùy chọn là age và city (có thể có hoặc không), và nó được đặt tên tương ứng với tên tham số.
Và đây là cách gọi phương thức Search
// 1. Standard call
Search("Sue", 22, "New York");
// 2. Omit city parameter
Search("Mark", 23);
// 3. Explicitly name the city parameter
Search("Lucy", city: "Cairo");
// 4. Use named parameters in reverse order
Search("Pedro", age: 45, city: "Saigon");
Lúc nào chúng ta cũng truyền vào name vì name không phải là optional parameter.
Giải thích các phương thức:
1. Cách gọi thông thường à không cần phải bàn.
2.Gọi phương thức Search mà không cần truyền vào tham số city à nó sẻ lấy default value là “Pueblo”
3.Tường minh truyền vào tham số như vậy Cairo sẻ là giá trị của tham số city truyền vào cho phương thức.
4.Gọi phương thức mà không cần phải truyền đúng theo thứ tự của phương thức, giá trị của tham số sẻ tương ứng với tên phía trước nó.
Name = Sue - Age = 22 - City = New York
Name = Mark - Age = 23 - City = Pueblo
Name = Lucy - Age = 21 - City = Cairo
Name = Pedro - Age = 45 - City = Saigon
Nhấn F5, chúng ta sẻ có kết quả như trên.
Chú ý: optional parameter luôn luôn lúc nào cũng nào phía sau required parameter
Chúng ta sẻ bị lổi biên dịch khi
public static void Search(int age = 21, string city = "Pueblo",string name)
Regards,