خانه > #C, Persian Contents > کاربرد کلمه کلیدی ::global در #C چیست؟

کاربرد کلمه کلیدی ::global در #C چیست؟

یکی از موارد جدیدی که به #C افزوده شده است همین کلمه کلیدی است. البته به آن نمی‌توان کاملا یک کلمه کلیدی گفت بلکه آن را به عنوان contextual keyword می‌شناسند.
بعضی اوقات شما برخی کلاس‌ها و فضای نام‌هایی را دارید که با نام‌های کلاس‌ها و فضای نام‌های پایه در Net. هم نام است. در این مواقع اگر بخواهید از کلاس پایه‌ای استفاده کنید می‌توانید از این کلمه کلیدی استفاده نمایید. به کدی که در ادامه بیان شده توجه نمایید:


class TestApp
{
// Define a new class called 'System' to cause problems.
public class System { }

// Define a constant called ‹Console› to cause more problems.
const int Console = 7;
const int number = 66;

static void Main()
{
// Error Accesses TestApp.Console
Console.WriteLine(number);

// Error Accesses TestApp.System
System.Console.WriteLine(number);

}
}

در کد بالا با کلاس System و مقدار ثابت Console بدین منظور ساخته شده‌اند که بتوان مشکلات ناشی از هم‌نامی این‌ها با کلاس‌ها و فضای نام‌های پایه مشخص شود. همان طور که مشاهد می‌کنید این تکه کد ها برای سیستم مشکل به وجود می‌آورند.
اگر فضای نامی برای یک نوع مشخص نشده باشد، global کار نخواهد کرد.

// See: no namespace here
public static class System
{
public static void Main()
{
// «System» doesn’t have a namespace, so this
// will refer to this class!
global::System.Console.WriteLine(«Hello, world!»);
}
}

اگرچه احتمال اینگونه نامگزاری بسیار کم است ولی در پروژه‌های بزرگ، احتمال هم‌نامی‌ها به هر شکلی وجود دارد که در اینگونه موارد استفاده از این مورد می‌تواند مفید باشد.
زمانی که شناسه سمت چپ global باشد، جستجوی شناسه سمت راست در فضای نام سراسری انجام می‌شود. به عنوان مثال تکه کد زیر به کلاس TestClass به عنوان عضوی از فضای سراسری رجوع می‌کند :

class TestClass : global::TestApp
دسته‌ها:#C, Persian Contents برچسب‌ها: , , ,
  1. هنوز دیدگاهی داده نشده است.
  1. No trackbacks yet.

پاسخی بگذارید

در پایین مشخصات خود را پر کنید یا برای ورود روی شمایل‌ها کلیک نمایید:

نشان‌وارهٔ وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

عکس گوگل+

شما در حال بیان دیدگاه با حساب کاربری Google+ خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s

%d وب‌نوشت‌نویس این را دوست دارند: