การเรียกใช้เมธอดใน C#
ใน C# การเรียกใช้เมธอดของคลาสต้องสร้างอินสแตนซ์ (ออบเจกต์) ของคลาสนั้นก่อน (ยกเว้นเมธอดสแตติก) จากนั้นใช้ตัวดำเนินการจุด (.) ตามด้วยชื่อเมธอดและอาร์กิวเมนต์
รูปแบบทั่วไป
ClassName objectName = new ClassName();
objectName.MethodName(arguments);
ตัวอย่างโค้ดสมบูรณ์
using System;
namespace Demo
{
class ApplicationOne
{
// เมธอดอินสแตนซ์ (Instance method)
public int DisplayMax(int num1, int num2)
{
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
static void Main(string[] args)
{
int a = 700;
int b = 400;
int ret;
// สร้างอินสแตนซ์และเรียกเมธอด
ApplicationOne one = new ApplicationOne();
ret = one.DisplayMax(a, b);
Console.WriteLine("ค่าสูงสุดคือ: {0}", ret);
Console.ReadLine();
}
}
}
ผลลัพธ์
ค่าสูงสุดคือ: 700
ประเภทของเมธอดและการเรียกใช้
| ประเภท | การเรียกใช้ | ตัวอย่าง |
|---|---|---|
| Instance Method | ผ่านอินสแตนซ์ | obj.Method() |
| Static Method | ผ่านชื่อคลาส | ClassName.Method() |
| Extension Method | เหมือน Instance Method | obj.Method() |
ตัวอย่างเมธอดสแตติก
public class MathUtils
{
public static int Add(int a, int b) => a + b;
}
// เรียกใช้โดยไม่ต้องสร้างอินสแตนซ์
int sum = MathUtils.Add(5, 3); // 8
การส่งพารามิเตอร์
- Pass by value (ค่าเริ่มต้น): ส่งค่าตัวแปรไป (สำหรับ value type)
- Pass by reference (
ref,out): ส่งที่อยู่หน่วยความจำ - Params array: รับจำนวนอาร์กิวเมนต์ไม่คงที่