วันพุธที่ 17 พฤศจิกายน พ.ศ. 2553

MSDN ช่วยฉันด้วย

ไทป์คือทุกอย่างของไลบรารี่ .NET
เมื่อเราต้องการพัฒนา application จาก .NET เวลาส่วนใหญ่หมดไปกับการออกแบบตัว application และการใช้งานไทป์ สำหรับการใช้งานไทป์ Microsoft แนะนำใหัใช้เอกสารอ้างอิงที่เรียกว่า Microsoft Development Network หรือ MSDN ซึ่งมีทั้งแบบ offline และ online ครับ

ตัวอย่างการใช้งาน MSDN online
- สมมติต้องการรู้จักกับคลาส Form
- ไปที่ MSDN online
- ให้พิมพ์คำว่า Form ลงไปดังรูป แล้วกดปุ่มค้นหาหรือกด Enter

- จะปรากฏหัวข้อเรื่องให้เลือกมากมาย อ่านรายละเอียดเล็กน้อย แล้วเลือกหัวข้อเรื่องที่ต้องการ จากรูปผมเลือกหัวข้อแรกครับ

- ให้สังเกตสามจุดในรูปด้านล่างที่ผม mark ไว้
- ในกรอบสีเหลี่ยมส้มนั้นสำคัญมาก มันบอกว่าคลาส Form นี้สืบเชื้อสายมาจากใครบ้าง
- ส่วนวงรีอีกสองวง เราก็เลือกเป็นภาษา C# และหากต้องการนำโค้ดไปใช้ก็ให้คลิกที่ Copy ง่ายดีใช่ไหมละ ?

- นอกจากนี้มันยังบอกเราด้วยว่าคลาส Form ประกอบด้วย constructors, properties, methods, evens และอื่นๆพร้อมรายละเอียดอีกเล็กน้อย

งานของเราคือพยายามใช้มันให้เกิดผล ถ้าถามผม ผมมักจะทำแบบนี้
- ผมจะจดจำว่าไทป์ (คลาส, สตรัก, primitive types) นั่นชื่อว่าอะไร
- นำไปค้นใน MSDN
- ตรวจดูว่า constructor ของมันรับไทป์หรือไม่ ถ้ารับมีอะไรบ้าง เคยรู้จักไทป์นั้นบ้างไหม
- ตรวจดูว่า properties หรือ method เหล่านั้นมีหน้าที่อะไร ตรงตามจุดประสงค์ของผมหรือไม่ ถ้าตรงจะต้องส่งไทป์อะไรให้มันบ้าง และมันคืนค่าอะไรออกมา
- ตรวจดูว่า even ของมันได้แก่อะไรบ้าง ตรงตามจุดประสงค์หรือไม่ ถ้าตรงมันตรวจจับคลาสอะไร เรารู้จักหรือยัง
- แล้วทดลองนำมาใช้ อะไรไม่รู้จักก็ไปค้นใน MSDN อีก ทำต่อไปจนกว่าจะใช้เป็น ไม่ก็โดดไปหาใน google

ฉันไม่เข้าใจ constructor, properties, method อะไรพวกนั้น มันคืออะไร ?
แท้จริงผมอยากอธิบายเสียตอนนี้ แต่เอาไว้บทความต่อไปแล้วกัน อยากให้ลองทำตามตัวอย่างต่อไปนี้

P12_MSDN_HelpMe
- สร้างโปรเจ็กค์ใหม่เพิ่มเข้าไปยังโซลูชัน CsharpTutorialForFriends เหมือนเคย
- ตั้งชื่อมันว่า P12_MSDN_HelpMe
- ณ หน้าต่าง Solution Explorer ของโปรเจ็กต์นี้ ให้เพิ่ม Reference โดยคลิกขวาที่ References -> Add Reference...

- เลือกแท็บไลบรารี่ .NET
- เลือก component ชื่อ System.Windows.Forms
- กด OK

- เขียนโค้ดดังรูปในบรรทัดที่ 6 เพื่อลดการอ้างถึงเนมสเปชที่ยาวมากไปในอนาคต

- บรรทัดที่ 14 ภายในรูปด้านล่าง เขียนโค้ดเพื่อสร้างออบเจ็กต์ของคลาส Form จากคำสั่ง new Form();
- บรรทัดที่ 16 ภายในรูปด้านล่าง เขียนโค้ดเพื่อให้ออบเจ็กต์ข้างต้นมีชีวิต (แท้จริงมีรายละเอียดมากมาย) ด้วยคำสั่ง Application.Run

- ผลลัพธ์

แบบฝึกคิด
- จงให้เหตุผลว่าเหตุใดจึงต้องเพิ่ม component ชื่อ System.Windows.Forms ?
- ไม่ใช้คำสั่ง using System.Windows.Forms; ได้หรือไม่ อย่างไร ?
- ผมทราบได้อย่างไรว่าคำสั่ง new Form(); สามารถถูกเรียกให้ทำงานได้ ?
- reference ของออบเจ็กต์ที่เกิดจากคำสั่ง new Form(); ถูกส่งให้กับตัวแปรชื่อ (โอกาสหน้าจะเรียกว่า อินสแตนท์) form และถูกจัดการแบบ value type ในหน่วยความจำใช่หรือไม่ เพราะเหตุใด ?

แบบฝึกหัด
- จากโปรเจ็กต์ชื่อ P12_MSDN_HelpMe เพิ่มโค้ดต่อไปนี้ไว้ ณ บรรทัดที่ 15 (หรือตามวิจารณญาณการจัดโค้ดของเพื่อนๆ) ดังรูป แล้วจงทำให้โปรแกรมนี้สามารถทำงานได้

3 ความคิดเห็น:

  1. ดีเลยครับ แวะมาดูของผมด้วยนะ
    http://darkcyber17.blogspot.com/

    ตอบลบ
  2. ยินดีที่รู้จักยิ่งครับเพื่อน ผมได้เพิ่มลิงค์ไปยังบล็อคของเพื่อนเรียบร้อยแล้วครับ (ด้านล่างซ้าย) เยี่ยมมากเลยครับ

    ตอบลบ
  3. เนื้อหาเข้าใจง่ายมาก ขอเป็นกำลังฝใจให้พัฒนาต่อไปนะครับ

    ตอบลบ