Operator Overloading ใน C#

Operator overloading คือ การนำ operator ที่ build-in มาพร้อมกับ C# มาใช้ โดยเขียนการทำงานใหม่ตามต้องการ

ใน C# สามารถ overload operator บางตัวได้ (ดู overloadable operators)โดยต้องประกาศไว้ในคลาสด้วยคีย์เวิร์ด operator และเพื่อให้ใช้งานได้ง่ายขึ้น จะเขียน implicit conversion ไว้ในคลาสด้วยก็ได้ (คล้ายกับ overload operator แต่มี implicit นำหน้า)

ตัวอย่างนี้ คลาส FilePath มีการ overload operator / (division operator) เพื่อใช้แทนฟังก์ชัน Path.Combine()

ใน FilePath มีการเขียน implicit conversion ระหว่าง string กับ FilePath ไว้ ซึ่งจะทำให้ instance ของ string และ FilePath สามารถ convert กลับไปมาได้อัตโนมัติ

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.