Delegate คืออะไร และใช้งานอย่างไร

24 Jun 2016,
Share: 

Delegate คืออะไร

Delegate จะเก็บตําแหน่ง Address ของ Method ที่ต้องการจะเรียกใช้ ทําให้เราสามารถเรียกใช้ Method ใดๆ ผ่าน Delegate ได้ คุณอาจจะสงสัยว่า ทําไมไม่เรียกใช้ Function ตรงๆไปเลย ข้อดีของการเรียกผ่าน Delegate คือสามารถเรียก Mathod ของ Class อื่นได้

Delegate ใช้งานอย่างไร

ตัวอย่างการใช้งาน ในบทความนี้ จะสร้างคลาส Class1 และคลาส Form1 โดยคลาส Class1 มี Delegate ชื่อว่า det สําหรับเรียกใช้ Method จากภายนอก ส่วนคลาส Form1 มี Method ชื่อ cal และ  Form_Load

Image

delegate class diagram การทํางานจะเริ่มจาก Form_Load โดยจะสร้าง Object ของคลาส Class1 หลังจากนั้นเรียก Method ชื่อ method1 โดยส่ง Adress ของ cal ไปให้กับ Delegate ในคลาส Class1 ทําให้คลาส Class1 สามารถเรียกใช้ Method cal จากคลาส Form_Load ได้ คลาส Class1

Public Class Class1

    Public Delegate Function det(ByVal x As Integer, ByVal y As Integer)

    Public Function method1(ByVal fnInput As det)

        MsgBox(fnInput(9, 1)) 'เรียก Method จากภายนอก

    End Function

End Class

คลาส Form1

Public Class Form1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        Dim obj As New Class1()
        obj.method1(AddressOf cal) 'เรียก Method ของคลาส Class1 โดยที่คลาส Class1 จะไปเรียก Method cal ของคลาส Form1

    End Sub

    Public Function cal(ByVal x As Integer, ByVal y As Integer) As Integer

        Return x + y

    End Function

End Class

Output:

Image

รูป Output   โหลด Project ตัวอย่าง>>> delegate example vs2008 ข้อมูลเพิ่มเติมที่>>>  artit-k.com/dev-callback-vb-net/

Suggestion blogs

เหรียญ 20 บาท รางวัลผู้นำโลกด้านทรัพย์สินทางปัญญา พ.ศ.2551

รางวัลผู้นำโลกด้านทรัพย์สินทางปัญญา พ.ศ.2551ข้อมูลเหรียญกษาปณ์ที่ระลึกเฉลิมพระเกียรติพระบาทสมเด็จพระปรมินทรมหาภูมิพลอดุลยเดช เนื่องในโอกาสที่องค์การทรัพย์สินทางปัญญาโลก ( WIPO ) ทูลเกล้าทูลกระหม่อมถวายรางวัลผู้นำโลกด้านทรัพย์สินทางปัญญา เพื่อเฉลิมพระเกียรติและเชิดชูพระอัจฉริยภาพในการส่งเสริมเผยแพร่บทบาทด้านทรัพย์สินทางปัญญาและพัฒนานวัตกรรมสิ่งประดิษฐ์ต่าง ๆ โดยพัฒนาคุณภาพชีวิตของคนไทยและเป็นประโยชน์ต่อชาวโลก เช่น กังหันน้ำชัยพัฒนา และโครงการทำฝนหลวง ทรงเป็นนักสร้างสรรค์ นักประดิษฐ์ ผลงานของพระองค์ท่านทดลองแล้ว ได้ประโยชน์และมีผลในการปฏิบัติได้จริง มีคุณค่าในด้านทรัพย์สินทางปัญญาของโลก

การคูณ-หารจำนวนเต็ม

การคูณ และ หาร ระหว่างจำนวนเต็มสองจำนวน อาศัยเรื่องผลคูณของค่าสัมบูรณ์ของจำนวนทั้งสอง  โดยมีเครื่องหมาย  ดังนี้

Arduino ตอน6 Serial interface ใน Arduino

Serial เป็นรูปแบบการสื่อสารแบบ Asynchronous ชนิดหนึ่งที่ Arduino นํามาใช้ในการสื่อสารกับ Device อื่นๆ เช่น Computer, Arduino, Module Sensor ต่างๆ หรืออุปกรณ์อะไรก็ตามที่รองรับการส่งข้อมูลแบบ Serial สําหรับข้อมูลเพิ่มเติมของการสือสารแบบ Serial อ่านรายละเอียดเพิ่มเติมได้จากบนความนี้ครับ TTL UART RS232 คืออะไร


Copyright © 2019 - 2025 thiti.dev |  v1.57.0 |  Privacy policy | 

Build with ❤️ and Astro.

Github profile   Linkedin profile   Instagram   X profile   Nostr   Youtube channel   Telegram   Email contact   วงแหวนเว็บ