در زبان برنامه نویسی C# مفهومی به نام function یا تابع نداریم و فقط متد داریم و در حقیقت در C# تابع و متد مفهوم معادل هم دارند.
متد به دسته ای از statement ها اطلاق می شود که در کنار هم کار مشخصی را انجام می دهند. یک متد حتما باید در یک کلاس تعریف شود. ساختار تعریف متد در زبان برنامه نویسی C# بصورت زیر است:
<Access Specifier> <Return Type> <Method Name>(Parameter List)
{
Method Body - statements
}
Access Specifier: سطح دسترسی سایر کلاس ها به متد را مشخص می کند.
Return type: یک متد می تواند مقداری را برگرداند که Return type مشخص کننده نوع آن مقدار است و اگر متد چیزی بر نمی گرداند Return type برای void خواهد بود.
Method name: یک نام یکتا و case sensitive برای متد است.
Parameter list: بین پرانتز قرار می گیرند، با استفاده از پارامتر ها می توان اطلاعات لازم را برای متد ارسال کرد. برای تعریف یک پارامتر ابتدا باید نوع داده آن پارامتر و سپس نام آن بیاید و پارامتر ها با , از یکدیگر جدا می شوند. یک متد می تواند پارامتر نداشته باشد.
Method body: حاوی مجموعه ای دستورات است که کاری که قرار است متد انجام دهد را تعریف می کنند.
برای مثال متد FindMax دو پارامتر از نوع عدد می گیرد و وظیفه دارد عدد بزرگتر را پیدا کند و بعنوان مقدار بازگشتی برگرداند:
class NumberManipulator
{
public int FindMax(int num1, int num2)
{
/* local variable declaration */
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
...
}