การสร้าง Generic Method เป็นอีกทางเลื่อกนึงที่ถูกนำเสนอออกมา เพราะเป็นการทำให้ method ยืดหยุ่นมากกว่าที่เคยเป็นมา และไม่ต้องทำการ Overload เพิ่มมากมาย ในเวลาที่ต้องการเปลี่ยนชนิดของค่า เหมือนในภาษาสมัยก่อน จึงมีความยืดหยุ่นและลดความซ้ำซ้อนได้มาก
Generic method สร้างขึ้นไม่ยาก ผู้เขียนจะสร้าง method ง่ายๆเพื่อดูการทำงาน
ผู้เขียนสร้าง Generic method ง่ายๆเพื่อให้แสดงค่าเป็นข้อความออกมา แต่ให้สังเกตุที่ค่า Parameter ที่ส่งเข้ามาใน method
//สร้าง Generic method ที่มีการ return ค่าเป็น string
//การระบุ Type ของ Parameter จะขึ้นอยู่กับการกำหนดค่า T และ X
private string showMess<T,X>(T age,X display)
{
string res = null;
//เก็บค่า Type ของ X
Type X_is = typeof(X);
//ตรวจสอบ Type ของ X ว่าเป็น string หรือไม่
if (X_is == typeof(string))
//ถ้าเป็น string ให้คืนค่าเป็นข้อความ
res= Convert.ToString(display+age.ToString());
else
//หากเเป็น Type อื่นๆ ให้แปลงเป็น int แล้วนำมาบวกกัน
res= Convert.ToString(Convert.ToInt32(display)+Convert.ToInt32(age));
return res;
}
การทดสอบนั้น ผู้เขียนได้ใช้ Generic method "showMess" ให้แสดง MessageBox ขึ้นมาเพื่อดูผลของค่าที่ return ออกมา
public Form1()
{
InitializeComponent();
MessageBox.Show(showMess<int, string>(22,"ข้าพเจ้ามีอายุ : "));
MessageBox.Show(showMess<double, string>(.357, "คุณพ่อมีปืนขนาด : "));
MessageBox.Show(showMess<int, int>(2011, 543));
MessageBox.Show(showMess<int, double>(2011, 1.00));
}
ผลการทำงาน
ไม่มีความคิดเห็น:
แสดงความคิดเห็น