کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

متدهای استاتیک (static method) در سی شارپ

متدهای ایستا یا static method در واقع همان رفتارهای استاتیک یک کلاس هستند که بدون نیاز به نمونه سازی در قالب یک شی و تنها با استفاده از نام خود کلاس قابل فراخوانی و استفاده هستند.

درست مشابه متغیر عضو، می توان متد کلاس را به عنوان ایستا معرفی کرد. متد مذکور قابلیت دسترسی به تمامی اعضای کلاس را دارد (البته سطح دسترسی متد به اعضای کلاس بستگی به این دارد که متغیر عضو چگونه تعریف شده باشد). به یاد داشته باشید که اعضای کلاس می توانند ایستا یا غیر ایستا باشند.

ایجاد متد ایستا

برای تعریف متدی به عنوان ایستا، کافی است کلیدواژه ی static را سمت چپ آن تایپ کنید.

مثال:

                
public class Book
{
‎    static void CreateBook()
‎    {
‎    }
‎}

متد ایستا همچنین اجازه ی استفاده از تنظیم کننده ی سطح دسترسی (access modifier) را دارد. می توان کلیدواژه ی static را پیش یا پس از تنظیم کننده ی سطح دسترسی قرار دهید.

مثال:

                
using System;‎

public class Book
‎{‎
‎    private static string title;‎
‎    static private string author;‎
‎    private static int    pages;‎
‎    static private double price;‎
    ‎
    static public void CreateBook()‎
‎    {‎
        title  = "Psychology and Human Evolution";‎
        author = "Jeannot Lamm";‎
        pages  = 472;‎
        price  = 24.95;‎
    }‎
    
    internal static void ShowBook()‎
    {‎
        Console.WriteLine("Book Characteristics");‎
        Console.Write("Title:  ");‎
        Console.WriteLine(Book.title);‎
        Console.Write("Author: ");‎
        Console.WriteLine(Book.author);‎
        Console.Write("Pages:  ");‎
        Console.WriteLine(pages);‎
        Console.Write("Price:  ");‎
        Console.WriteLine(price);‎
    }‎
    
    public static int Main()‎
    {‎
        return 0;‎
    }‎
‎}

همان طور که برای فیلد ایستا (static field) ذکر شد، استفاده از متد ایستا نیز بستگی به مکان دسترسی آن دارد (منظور جایی است که متد ایستا در آن قابل دسترس است). به منظور دستیابی به عضو ایستا از طریق متد ایستای همان کلاس، می توان از اسم عضو ایستا استفاده کرد.

مثال:

                
using System;‎

public class Book
{‎
‎    static string title;‎
‎    static string author;‎
‎    static int pages;‎
‎    static double price;‎

‎    static void CreateBook()‎
‎    {‎
‎        title = "Psychology and Human Evolution";‎
‎        author = "Jeannot Lamm";‎
‎        pages = 472;‎
‎        price = 24.95;‎
‎    }‎

‎    static void ShowBook()‎
‎    {‎
‎        Console.WriteLine("Book Characteristics");‎
‎        Console.Write("Title:  ");‎
‎        Console.WriteLine(Book.title);‎
‎        Console.Write("Author: ");‎
‎        Console.WriteLine(Book.author);‎
‎        Console.Write("Pages:  ");‎
‎        Console.WriteLine(pages);‎
‎        Console.Write("Price:  ");‎
‎        Console.WriteLine(price);‎
‎    }‎

‎    public static int Main()‎
‎    {‎
‎        CreateBook();‎
‎        ShowBook();‎
‎        return 0;‎
‎    }‎
‎}

نتیجه

Book Characteristics
Title:  Psychology and Human Evolution
Author: Jeannot Lamm
Pages:  472‎
Price:  24.95‎

همچنین می توان ابتدا اسم کلاس و به دنبال آن نقطه، عضو مورد نظر را را تایپ کرد. به مثال های زیر توجه کنید.

                
using System;‎

public class Book
‎{‎

    ... No Change‎

    static void CreateBook()‎
    {‎
        ... No Change‎
    }

    ‎static void ShowBook()‎
    {‎
        ... No Change‎
    ‎}‎

    public static int Main()‎
    {‎
        Book.CreateBook();‎
        Book.ShowBook();‎
        return 0;‎
    }‎
‎}

به منظور دسترسی به عضوی ایستا از بیرون کلاس، ابتدا اسم کلاس، به دنبال آن نقطه و عضو موردنظر را تایپ کنید. نظر خود را به مثال های زیر جلب کنید

                
using System;‎

public class Book
‎{‎
    ... No Change‎
    ‎
    static public void CreateBook()‎
‎    {‎
‎       ... No Change‎
‎    }‎
    ‎
    internal static void ShowBook()‎
‎    {‎
‎       ... No Change‎
‎    }‎
‎}‎

public class Exercise
‎{‎
‎    public static int Main()‎
‎    {‎
‎        Book.CreateBook();‎
‎        Book.ShowBook();‎
        
        return 0;‎
‎    }‎
‎}
1394/07/27 19635 4581
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...