شی گرائی (بخش هشتم)
بخش سوم Namespace
 
فراخوانــی اعضـــای يک Namespace
 
در پست های قبلی با فضای نام ها و فضاهای تو در تو آشنا شدید ، در این پست نحوۀ فرخوانی عضوهای یک فضای نام رو بتون یاد میدم 
 
کد:
using System;
 
namespace csharp
{
    // فضای نام تودرتو
 
    namespace html
    {
        // کلاس فراخوانی شده
        class myhtml1
        {
            // متد فراخوانی شده
            public static void mycss1()
            {
 
                Console.WriteLine("First Example.");
 
            }
 
        }
 
    }
 
    // كلاس آغازين برنامه
 
    class NamespaceCalling
    {
        // آغاز اجراي برنامه
        public static void Main()
        {
 
            // چاپ در خروجی 
            html.myhtml1.mycss1();
 
            html.myhtml2.mycss2();
 
        }
 
    }
 
}
 
// مشابه فضای نام تو در توی بالا    
 
namespace java
{
    class myhtml2
    {
 
        public static void mycss2()
        {
            Console.WriteLine("Second Example.");
        }
 
    }
}
 
 
در کد بالا، یک Namespace تودرتو فراخوانی شده ، html درون csharp است ، كه دارای كلاس myhtml1 و متد mycss1 قرار گرفته .
 
متد Main اين متد را با نام html.myhtml1.mycss1 فراخوانی میکنه. چون متد Main و html درون يه فضای نام هستند ، و يه فضای نام دیگه بصورت namespace java فراخوانی کردم.
كلاسهای myhtml1 و myhtml2 هر دو متعلق به یه Namespace هستند ، و درون متد Main ، متد mycss2 بصورت html.myhtml2.mycss2 فراخوانی کردم.
توجــه کنیـد که برای هر کدوم از كلاسهای myhtml1 و myhtml2 نامهای متفاوتی انتخاب کردیم چون هرعضو مربوط به یک فضای باید نام منحصر به فردی داشته باشه.
برای متدهـــــای فراخوانـــی شده هم نام های متفاوتــی در نظر گرفته شده.