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 กลับไปมาได้อัตโนมัติ

Show your support

Clapping shows how much you appreciated wk’s story.