C# cho phép sử dụng nhiều phương thức deconstructor trong cùng một chương trình với cùng số lượng tham số out hoặc cùng số lượng và kiểu tham số out theo thứ tự khác nhau.
Đây là một phần của cú pháp tuple mới — không liên quan gì đến các lớp Tuple<> mà lấy cảm hứng từ lập trình hàm.
Từ khóa Deconstruct được dùng cho Deconstructors
Ví Dụ
public class Employee{
public Employee(string employeename, string firstName, string lastName){
Employeename = employeename;
FirstName = firstName;
LastName = lastName;
}
public string Employeename { get; }
public string FirstName { get; }
public string LastName { get; }
public void Deconstruct(out string employeename, out string firstName, out
string lastName){
employeename = Employeename;
firstName = FirstName;
lastName = LastName;
}
}
class Program{
public static void Main(){
Employee employee = new Employee("emp", "fname", "lname");
(string EName, string Fname, string Lname) = employee;
System.Console.WriteLine(EName);
System.Console.WriteLine(Fname);
System.Console.WriteLine(Lname);
Console.ReadLine();
}
}
Kết Quả
emp fname lname