الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال عن استخدام ال [ ]

مغلق
بدأه M_Asize في 19 يونيو 2007 · 7 رد · 985 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

مرحبا

ما هي استخدامات الأقواس المربعة [ ]

مثلا

[system.ComponentModel.DataObject]

شكرا مقدما

إننا محكومون بالأمل وما يحدث الآن ليس نهاية العالم

#2

السلام عليكم ورحمة الله وبركاته

تستخدم في المصفوفات، مثلا

int[] array = new int[10];

for (int i = 0; i < 10; i++)
{
	   array = i * 2; // على سبيل المثال
}

وتستخدم أيضا في الفهرسة:

مثلا:

DataGridView dgv = new DataGridView();
dgv[رقم العمود, رقم السطر].Value = قيمة ما;

أيضا

List<int> list = new List<int>();

list.Add(1);
list.Add(2);

for (int i = 0; i < list.Count; i++)
{
	 list = list + 2; // على سبيل المثال 
}

وشكرا

#3

مرحبا

شكرا أخي على ردك الكريم

ولكن القصد لمن يكن من استخدامها في هذه لاماكن ولكن كما أوردت المثال

اقتباس
[system.ComponentModel.DataObject]

حيث وضع هذا التعبير قبل تعريف الكلاس

والتعبير

[system.ComponentModel.DataObjectMethodAttribute

(System.ComponentModel.DataObjectMethodType.Select, true)]

وضع قبل تعريف التابع

والسؤال بماذا تفيدنا هذه التعابير وأمثالها

أرجو أن تكون فكرة السؤال قد توضحت

إننا محكومون بالأمل وما يحدث الآن ليس نهاية العالم

#4

السلام عليكم

إستعمال ما يسمى ب Attributesيهدف الى إضافة مزيد من المعلومات للمترجم حول كيفية إستعمال القسم, الدالة, التغير...

هذه بعض الأمثلة:

* عند إنشاء مشروع جديد, الفيزوال يولد كود تلقائي ومن بين دواله نجد في الملف Program.csالكود التالي

[STAThread]
  static void Main()
   {
	Application.EnableVisualStyles();
	Application.SetCompatibleTextRenderingDefault(false);
	Application.Run(new Form1());
   }

STAThread: Single-Threaded Apartment Thread

وتعني أن الدالة Mainهي الدالة الوحيدة الرئيسية للبرنامج. يوجد تعريف آخر للدوال الرئيسية:

MTAThread: Multi-Threaded Apartment Thread

يعني وجود أكثر من دالة رئيسية مستعملة في البرنامج. وهذا التعريف يستعمل أساسا عند التداخل بين بيئة السي شارب وغيرها

* طلب من المترجم إدماج كود يمكن من الإستخدام الديناميكي لمكتبة ديناميكية. مثال:

[DllImport("User32.dll")]
public static extern IntPtr GetWindow(IntPtr hWnd, int uCmd);

أو بإستعمال DllImportAttribute

[DllImportAttribute("User32.dll")]
		public static extern IntPtr GetWindow(IntPtr hWnd, int uCmd);

وكلاهما صحيح. والغاية من ذلك إبراز أن إستعمال الملحق " Attribute"أمر إختياري ويمكن هذفه لتسهيل الإستعمال.

* إرجاع رسالة تنبيه أو خطأ محددة بإستعمال Obsolete مثال :

[Obsolete("This class is obsolete; use class NonObsoleteClass instead")]
	class ObsoleteClass
	{ public void F() { } }

	class NonObsoleteClass
	{ public void F() { } }

	class Program
	{ static void Main(string[] args)
		{ ObsoleteClass a = new ObsoleteClass(); // Warning
		  a.F();
		}
	}

عند ترجمة هذا الكود سيرجع لك المترجم رسالة التنبيه التي كتبتها. ولهذا إستعمالات كثيرة, يمكن إستعمال ObsoleteAttributeعوض Obsolete

#5

شكراً Ben_Laiid كفيت ووفيت, وجزاك الله خيراً

ويمكنك انشاء Attribute خاص بك وهذا موضوع يوضح ذلك /index.php?showtopic=58128

مواضيع متنوعة

#6

السلام عليكم ،

ان ما تتحدث عنه هو الصفات ( Attributes ) ومن الصعب تعريف الصفة في جملة واحد ولكن الصفة هي "صنف يمكن ان يحتوي بيانات اضافية عن المجمعة، تتعلق هذه المعلومات بالمجمعة نفسها أو بأي نوع ضمنها".

الصفات موضوع متقدم في برمجة الدوت نت ومن أهم مزايا الدوت نت ويجب اتقانها كي نستخمها بفاعلية، ويمكن الاستفادة منها في :

1- أغراض التنقيح و التصحيح.

2- توفير معلومات عن المجمعة.

3- تأشير المناهج و الأصناف بأنها غير قابلة للاستخدام.

4- الوصول إلى قواعد البيانات.

مثال:

اذا اردنا ان نعلم مستخدم مجمعة معينة ( قمنا بتصميمها ) على أن هناك منهج سوف يتم الغاؤه في الاصدارات القادمة فنقوم بكتابة الشيفرة التالية :

[Obsolete("You must use NewMethod instead.")]
public void OriginalMethod()
{
}

في المثال أعلاه سيتم اعلام المستخدم بتحذير اثناء ترجمة الشيفرة. ويمكننا اعلام المستخدم ولكن عن طريق اعتراض error وليس تحذير warning بالشيفرة التالية:

[Obsolete("You must use NewMethod instead.", true)]
public void OriginalMethod()
{
}

صراحةً تفاجأت بالردود السريعة من الاخوة و اقول لهم بارك الله بكم وإلى الامام و ارجو ان اكون قدمت افادة ولمزيد من المعلومات لا تترددوا في طرح أي سؤال.

يا امتي انتزعي صباحك عنوة فمتى يعود الصبح للشطئــان

يا امتي آن الأوان لصحـــــــــوة فاستبشري بالفجر في بركان

معاً نحو بناء مجتمع اسلامي مؤمن و متعلم .

#7

السلام عليكم

اقتباس
ان ما تتحدث عنه هو الصفات ( Attributes ) ومن الصعب تعريف الصفة في جملة واحد ولكن الصفة هي "صنف يمكن ان يحتوي بيانات اضافية عن المجمعة، تتعلق هذه المعلومات بالمجمعة نفسها أو بأي نوع ضمنها".

أجل من الصعب تعريف Attributes بإقتضاب لذلك أضفت الأمثلة

اقتباس
صراحةً تفاجأت بالردود السريعة من الاخوة و اقول لهم بارك الله بكم وإلى الامام و ارجو ان اكون قدمت افادة ولمزيد من المعلومات لا تترددوا في طرح أي سؤال.

مرحبا بك بيننا وآمل أن تفيد وستفيد

هذا الموضوع مغلق.

مواضيع مشابهة