Thursday, February 28, 2008

Gibphone 2006

แกะไปแกะมา โค้ดนี้เขียนด้วย c# มีวิธีการหลายวิธีมากๆที่ไม่เคยรู้มาก่อน
เช่นการสร้าง Class จาก String ที่ส่งไปเป็น parameter => อันนี้ใช้ Type GetEvent GetMethod เอา
การ import dll แบบเลือกใน code เพราะมันทำให้สามารถรองรับกับ Class อื่นที่เป็น plugin ที่อยู่ใน Assembly อื่นเข้ามาในโปรเจคได้แบบ dynamic => อันนี้มันทำ Plugin Manager ขึ้นมา แล้วทำการ check ว่า Assembly ชื่ออะไรจาก LocalClassLoader
และทำการ unwrap <<== ยังไม่รู้ว่าทำอะไรทำไม

code แบบนี้

ObjectHandle oh = Activator.CreateInstanceFrom(file, typeName);
return
oh.Unwrap();

System.Activator
กะ ObjectHandle
ต้องลองไปดูเพิ่มถ้าจะใช้ แต่เอาด่วนๆ ก็จะเรียกเป็น ตรงๆประมาณ hardcode ไปแบบปรกติก็ได้

เป็นคนอื่นคงเสร็จไปแล้ว(หาได้ก็หามาละกัน) แต่เป็นผมก็นานหน่อยอะ

No comments: