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