C# อนุญาตให้ใช้เมธอด deconstructor หลายแบบในโปรแกรมเดียวกันโดยมีจำนวนพารามิเตอร์เอาต์เท่ากันหรือจำนวนและประเภทของพารามิเตอร์เอาต์เหมือนกันในลำดับที่ต่างกัน
มันเป็นส่วนหนึ่งของไวยากรณ์ tuple ใหม่ - ซึ่งไม่มีส่วนเกี่ยวข้องกับคลาส Tuple<> แต่มาจากการเขียนโปรแกรมเชิงฟังก์ชัน
คีย์เวิร์ด Deconstruct ใช้สำหรับ Deconstructors
ตัวอย่าง
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();
}
} ผลลัพธ์
emp fname lname