کیوی

وبلاگی در مورد سی شارپ و ASP.NET

کیوی

وبلاگی در مورد سی شارپ و ASP.NET

متد ها در سی شارپ

سه شنبه, ۸ تیر ۱۳۹۵، ۰۴:۳۶ ب.ظ

به صورت کلی می توان گفت متد (Method) قطعه ای از برنامه و شامل یک سری دستورات است که وظیفه ی انجام کاری معین را بر عهده دارد. در این پست به نکاتی در مورد متد ها در سی شارپ پرداخته می شود.

  • هر متد به صورت کلی می تواند مقداری را بازگرداند و یا خیر.
  • در هر کلاس می توان از متد های هم نام استفاده کرد با این شرط که امضا (signature) آنها متفاوت باشد. منظور از signature، ورودی ها پارامتر ها و عملیات آن متد خاص می باشد. به این روش در اصطلاح Method Overloading گفته می شود.
public class Point
 {
       public void Move(int x, int y) {  }

      // Method Overloading
       public void Move(Point newLocation) {  }
 }


  • با استفاده از کلمه ی params می توان به هر متد توانایی استفاده از چندین ورودی را داد:

public class Calculator
  {
       public int Add(params int[] numbers) {}
  }
.
.
.
var calculator=new Calculator();
var result = calculator.Add(1, 2, 3, 4);


  • در حالت عادی هنگامی که یک پارامتر را به عنوان ورودی به متد می دهیم، در واقع یک کپی از آن استفاده می شود و نه خود پارامتر ولی با استفاده از مودیفایر ref می توان از خود پارامتر استفاده کرد. این روش، مطمئن نبوده و امکان ایجاد اخلال در برنامه  زیاد می شود.
static void Main(string[] args)
{
    int a = 2;
    Weird(a);
    Console.WriteLine(ref a);
}

static void Weird(ref int a)
{
    a = a + 2;
}


  • با استفاده از مودیفایر out می توان خروجی یک پارامتر را مستقیما توسط یک متد تغییر داد. دقت شود که این روش نیز مانند قبل امکان ایجاد اخلال در برنامه را افزایش می دهد.

class OutExample
{
    static void Method(out int i)
    {
        i = 44;
    }
    static void Main()
    {
        int value;
        Method(out value);
        // نتیجه عدد 44 خواهد شد
    }
}

نظرات (۰)

هیچ نظری هنوز ثبت نشده است
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی