العربية
中文(简体)
中文(繁体)
한국어
日本語
English
Português
Español
Русский
العربية
Indonesia
Deutsch
Français
ภาษาไทย
الصفحة الرئيسية
تحميل الكود
برمجة ذات صلة
موارد بناء المواقع
دروس الكتب
دروس تصميم الويب
دروس برمجة الشبكة
ألعاب الهاتف المحمول
برامج الهاتف
المقالات
الصفحة الرئيسية
>
دروس الكتاب
>
تطوير البرمجة
البرمجة المتقدمة باستخدام C# و.NET.3.5 (الإصدار الرابع)
تطوير البرمجة
لا توجد موارد
تحديث C#.NET 3.0
الجزء الأول: تقديم لغة C# ومنصة .NET
الفصل الأول فلسفة .NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
فهم الوضع السابق. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
الحل .NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
تقديم العناصر الأساسية للنظام الأساسي .NET (CLR، CTS،
و سي إل إس). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
لغات برمجة .NET-Aware إضافية. . . . . . . . . . . . . . . . . . . . . . . . . . . 9
نظرة عامة على تجميعات .NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
فهم نظام النوع المشترك. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
فهم مواصفات اللغة المشتركة. . . . . . . . . . . . . . . . . . . . . . 20
فهم وقت تشغيل اللغة المشتركة. . . . . . . . . . . . . . . . . . . . . . . . . . 22
تمييز التجميع/مساحة الاسم/النوع. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
استكشاف التجميع باستخدام ildasm.exe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
استكشاف التجميع باستخدام عاكس لوتز رويدر. . . . . . . . . . . . . . . . . . . . . . 31
نشر وقت التشغيل .NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
الطبيعة المستقلة للنظام الأساسي لـ .NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
الفصل الثاني: بناء تطبيقات C#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
دور .NET Framework 3.5 SDK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
بناء تطبيقات C# باستخدام csc.exe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
بناء تطبيقات .NET باستخدام TextPad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
بناء تطبيقات .NET باستخدام Notepad++. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
بناء تطبيقات .NET باستخدام SharpDevelop. . . . . . . . . . . . . . . . . . . . . . . . . . . 48
بناء تطبيقات .NET باستخدام Visual C# 2008 Express . . . . . . . . . . . . . . . . . . 50
بناء تطبيقات .NET باستخدام Visual Studio 2008. . . . . . . . . . . . . . . . . . . . . . 52
كتالوج جزئي لأدوات تطوير .NET الإضافية. . . . . . . . . . . . . . . . . . . . 64
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
رابعا
الجزء 2 nnn إنشاءات برمجة Core C#
الفصل الثالث: بنيات البرمجة الأساسية لـ C#، الجزء الأول. . . . . . . . . . . . . . . . . . . . . . . . . 69
تشريح برنامج C# البسيط. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
جانب مثير للاهتمام: بعض الأعضاء الإضافيين في
فئة النظام والبيئة . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
فئة System.Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
أنواع بيانات النظام والترميز المختصر C#. . . . . . . . . . . . . . . . . . . . . . . . . . . 80
فهم نوع System.String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
تضييق وتوسيع تحويلات نوع البيانات. . . . . . . . . . . . . . . . . . . . . . . . . . 95
إنشاءات التكرار في C#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
يبني القرار ومشغلي العلائقية / المساواة. . . . . . . . . . . . . . . . . 102
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
الفصل الرابع من بنيات البرمجة الأساسية لـ C#، الجزء الثاني. . . . . . . . . . . . . . . . . . . . . . . . 107
الأساليب ومعدلات المعلمة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
فهم التحميل الزائد للأعضاء. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
معالجة المصفوفات في لغة C# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
فهم نوع التعداد . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
فهم نوع الهيكل. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
فهم أنواع القيمة وأنواع المراجع. . . . . . . . . . . . . . . . . . . . . . . . 129
أنواع القيمة والمراجع: التفاصيل النهائية. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
فهم أنواع C# Nullable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
الفصل الخامس: تعريف أنواع الفئات المغلفة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
تقديم نوع فئة C#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
فهم منشئي الطبقة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
دور هذه الكلمة الرئيسية. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
فهم الكلمة الأساسية الثابتة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
تحديد ركائز OOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
معدّلات الوصول إلى C#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
الركيزة الأولى: خدمات تغليف C#. . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
فهم البيانات الثابتة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
فهم حقول القراءة فقط. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
فهم الأنواع الجزئية. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
توثيق كود مصدر C# عبر XML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
تصور ثمار عملنا. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
الفصل 6 فهم الميراث وتعدد الأشكال. . . . . . . . . . . . . . . . . . 185
الآليات الأساسية للميراث. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
مراجعة الرسوم البيانية لفئة Visual Studio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
الركن الثاني: تفاصيل الميراث. . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
برمجة الاحتواء/التفويض. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
المحتويات ضد
المحتويات
الركن الثالث: الدعم متعدد الأشكال لـ C#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
فهم قواعد اختيار الفئة الأساسية/الفئات المشتقة. . . . . . . . . . . . . . . . . . . 210
فئة الوالدين الرئيسية: System.Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
الفصل السابع فهم معالجة الاستثناءات المنظمة. . . . . . . . . . . . . . . . . . . 219
قصيدة للأخطاء والأخطاء والاستثناءات. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
دور معالجة استثناءات .NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
أبسط مثال ممكن. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
تكوين حالة الاستثناء. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
استثناءات على مستوى النظام (System.SystemException) . . . . . . . . . . . . . . . . . . . . . 230
استثناءات مستوى التطبيق (System.ApplicationException) . . . . . . . . . . . . . . . 231
معالجة الاستثناءات المتعددة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
الكتلة الأخيرة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
من يرمي ماذا؟ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
نتيجة الاستثناءات غير المعالجة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
تصحيح الاستثناءات غير المعالجة باستخدام Visual Studio. . . . . . . . . . . . . . . . . . . . 242
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
الفصل 8 فهم عمر الكائن. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
الفئات والكائنات والمراجع. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
أساسيات عمر الكائن. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
دور جذور التطبيق . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
فهم أجيال الكائنات. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
نوع System.GC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
بناء الكائنات النهائية. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
بناء الأشياء التي يمكن التخلص منها. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
بناء أنواع نهائية ويمكن التخلص منها. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
الجزء 3 nnn بنيات البرمجة المتقدمة لـ C#
الفصل 9 العمل مع الواجهات. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
فهم أنواع الواجهة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
تعريف الواجهات المخصصة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
تنفيذ واجهة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
استدعاء أعضاء الواجهة على مستوى الكائن . . . . . . . . . . . . . . . . . . . . . . . . 276
واجهات كمعلمات. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
واجهات كقيم الإرجاع. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
صفائف من أنواع الواجهة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
تنفيذ الواجهات باستخدام Visual Studio 2008. . . . . . . . . . . . . . . . . . . . . . . 282
حل تضارب الأسماء عبر تنفيذ الواجهة الصريحة. . . . . . . . . . . . . 283
تصميم التسلسل الهرمي للواجهة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
بناء أنواع لا تعد ولا تحصى (IEnumerable و IEnumerator). . . . . . . . . . . . . . . 289
بناء كائنات قابلة للاستنساخ (ICloneable). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
بناء كائنات قابلة للمقارنة (IComparable). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
فهم واجهات رد الاتصال. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
الفصل 10 المجموعات والأسماء العامة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
واجهات مساحة الاسم System.Collections . . . . . . . . . . . . . . . . . . . . . 309
أنواع فئات System.Collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
System.Collections.مساحة الاسم المتخصصة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
العلاقة بين الملاكمة والفتح والنظام والكائن. . . . . . . . . . . . . . . . . . . 316
مسألة سلامة النوع والمجموعات المكتوبة بقوة. . . . . . . . . . . . . . . . . . 319
System.Collections.مساحة الاسم العامة . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
إنشاء طرق عامة مخصصة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
إنشاء الهياكل العامة والفئات. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
إنشاء مجموعة عامة مخصصة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
إنشاء فئات أساسية عامة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
إنشاء واجهات عامة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
الفصل 11 المندوبون والأحداث واللامدا. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
فهم نوع مندوب .NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
تعريف المندوب في C# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
الفئات الأساسية System.MulticastDelegate وSystem.Delegate. . . . . . . . . 344
أبسط مثال ممكن للمندوب. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
تعديل نوع السيارة مع المندوبين. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
مثال أكثر تفصيلاً للمندوبين. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
فهم مندوب التباين. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
إنشاء مندوبين عامة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
فهم أحداث C#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
مفوض EventHandler العام
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
فهم الأساليب المجهولة في لغة C#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
فهم تحويلات مجموعة الطريقة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
مشغل لامدا C # 2008. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
الفصل 12: الفهارس والمشغلون والمؤشرات. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
فهم طرق المفهرس. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
فهم الحمولة الزائدة للمشغل. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
فهم تحويلات النوع المخصص. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
العمل مع أنواع المؤشر. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
توجيهات المعالجات الأولية لـ C#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
الفصل 13 ميزات اللغة C# 2008. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
فهم المتغيرات المحلية المكتوبة ضمنيًا. . . . . . . . . . . . . . . . . . . . . . . . . . 415
فهم الخصائص التلقائية. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
فهم طرق التمديد. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
المحتويات سابعا
فهم الطرق الجزئية. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
فهم بناء جملة مُهيئ الكائن. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
فهم الأنواع المجهولة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
الفصل 14 مقدمة إلى LINQ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
فهم دور LINQ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
نظرة أولى على تعبيرات استعلام LINQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
LINQ والمجموعات العامة . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
LINQ والمجموعات غير العامة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
التمثيل الداخلي لمشغلي استعلام LINQ. . . . . . . . . . . . . . . . . . . . . 459
التحقق من مشغلي الاستعلام C# LINQ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
استفسارات LINQ: جزيرة في حد ذاتها؟. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
الجزء 4 nnn البرمجة باستخدام تجميعات .NET
الفصل 15 تقديم تجميعات .NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
تعريف مساحات الأسماء المخصصة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
دور تجميعات .NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
فهم تنسيق تجميع .NET. . . . . . . . . . . . . . . . . . . . . . . . . . 482
بناء واستهلاك تجميعة ذات ملف واحد. . . . . . . . . . . . . . . . . . . . . . . . . 486
بناء واستهلاك مجموعة متعددة الملفات. . . . . . . . . . . . . . . . . . . . . . . . . . . 496
فهم التجمعات الخاصة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
فهم التجميعات المشتركة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
تستهلك الجمعية المشتركة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
تكوين التجميعات المشتركة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
التحقيق في التكوين الداخلي لـ GAC . . . . . . . . . . . . . . . . . . . . . . . . 516
فهم تجميعات سياسة الناشر. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
فهم عنصر
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
مساحة الاسم System.Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
ملف تكوين الجهاز . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
الفصل 16: نوع الانعكاس، والربط المتأخر، والاعتماد على السمات
برمجة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
ضرورة نوع البيانات الوصفية . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
فهم الانعكاس. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527
إنشاء عارض بيانات تعريف مخصص. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
تحميل التجميعات ديناميكيًا. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
التفكير في التجمعات المشتركة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
فهم الربط المتأخر. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
المحتويات
فهم البرمجة المنسوبة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
بناء سمات مخصصة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
سمات مستوى التجميع (ومستوى الوحدة) . . . . . . . . . . . . . . . . . . . . . . . . . . 549
التفكير في السمات باستخدام الربط المبكر. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
التفكير في السمات باستخدام الربط المتأخر. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
وضع الانعكاس والربط المتأخر والسمات المخصصة في المنظور. . . . . . 553
بناء تطبيق قابل للتمديد. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
الفصل 17 العمليات ومجالات التطبيق وسياقات الكائنات. . . . . . . . . . . . . . . . . . . 561
مراجعة عمليات Win32 التقليدية. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561
التفاعل مع العمليات ضمن النظام الأساسي .NET. . . . . . . . . . . . . . . . . . . . . . 563
فهم مجالات تطبيقات .NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
فهم حدود سياق الكائن. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577
تلخيص العمليات ومجالات التطبيق والسياق. . . . . . . . . . . . . . . . . . . . . . 581
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582
الفصل 18: إنشاء تطبيقات متعددة الخيوط. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
العلاقة بين العملية/مجال التطبيق/السياق/الموضوع. . . . . . . . . . . . . . . . . . . . 583
مراجعة مختصرة لبرنامج .NET Delegate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585
الطبيعة غير المتزامنة للمندوبين. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587
استدعاء الأسلوب بشكل غير متزامن . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588
مساحة الاسم System.Threading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
فئة System.Threading.Thread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
إنشاء المواضيع الثانوية برمجياً. . . . . . . . . . . . . . . . . . . . . . . . . . 597
مسألة التزامن. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602
البرمجة مع الاسترجاعات الموقت. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609
فهم CLR ThreadPool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610
دور مكون الخلفية. . . . . . . . . . . . . . . . . . . . . . . . . . 612
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616
الفصل 19 فهم CIL ودور التجميعات الديناميكية. . . . . . . . 617
التفكير في طبيعة برمجة CIL. . . . . . . . . . . . . . . . . . . . . . . . . . . 617
فحص توجيهات CIL والسمات وأكواد التشغيل. . . . . . . . . . . . . . . . . . . . . . . 618
الدفع والفرقع: طبيعة CIL القائمة على المكدس. . . . . . . . . . . . . . . . . . . . 620
فهم هندسة الرحلات ذهابًا وإيابًا. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
فهم توجيهات وسمات CIL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
مكتبة الفئة الأساسية .NET، وتعيينات أنواع البيانات C# وCIL. . . . . . . . . . . . . . . . 635
تحديد أعضاء النوع في CIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636
فحص أكواد تشغيل CIL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638
إنشاء تجميعة .NET باستخدام CIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643
فهم التجميعات الديناميكية. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
المحتويات تاسعا
الجزء 5 nnn تقديم مكتبات .NET Base Class
الفصل 20 إدخال/إخراج الملفات والتخزين المعزول. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661
استكشاف مساحة الاسم System.IO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661
أنواع الدليل (المعلومات) والملف (المعلومات). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
العمل مع نوع DirectoryInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663
العمل مع نوع الدليل . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667
العمل مع نوع فئة DriveInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668
العمل مع فئة FileInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
العمل مع نوع الملف . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673
فئة الدفق الملخص. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675
العمل مع StreamWriters وStreamReaders. . . . . . . . . . . . . . . . . . . . . . . . 677
العمل مع StringWriters وStringReaders. . . . . . . . . . . . . . . . . . . . . . . . . . 680
العمل مع BinaryWriters وBinaryReaders. . . . . . . . . . . . . . . . . . . . . . . . . . 682
"مشاهدة" الملفات برمجياً. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683
تنفيذ إدخال/إخراج ملف غير متزامن. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685
فهم دور التخزين المعزول. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
كتاب تمهيدي عن أمن الوصول إلى التعليمات البرمجية. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688
نظرة عامة على التخزين المعزول. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 698
الحصول على متجر باستخدام IsolatedStorageFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702
التخزين المعزول قيد التنفيذ: انقر مرة واحدة للنشر. . . . . . . . . . . . . . . . . . . . . . . . 707
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710
الفصل 21: تقديم تسلسل الكائنات. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711
فهم تسلسل الكائنات. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711
تكوين الكائنات للتسلسل . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713
اختيار منسق التسلسل. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715
تسلسل الكائنات باستخدام BinaryFormatter. . . . . . . . . . . . . . . . . . . . . . . . . . . 717
تسلسل الكائنات باستخدام SoapFormatter . . . . . . . . . . . . . . . . . . . . . . . . . . . 719
تسلسل الكائنات باستخدام XmlSerializer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720
تسلسل مجموعات من الكائنات. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723
تخصيص عملية التسلسل. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 729
الفصل 22 ADO.NET الجزء الأول: الطبقة المتصلة. . . . . . . . . . . . . . . . . . . . . . . . . . . . 731
تعريف عالي المستوى لـ ADO.NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731
فهم موفري بيانات ADO.NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733
مساحات أسماء ADO.NET إضافية. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736
أنواع مساحة الاسم System.Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737
تلخيص موفري البيانات باستخدام الواجهات. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 741
إنشاء قاعدة بيانات AutoLot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744
نموذج مصنع موفر بيانات ADO.NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749
فهم الطبقة المتصلة لـ ADO.NET. . . . . . . . . . . . . . . . . . . . . . . . . 755
العمل مع قراء البيانات. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 760
بناء مكتبة الوصول إلى البيانات القابلة لإعادة الاستخدام. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763
المحتويات
إنشاء واجهة أمامية تعتمد على واجهة مستخدم وحدة التحكم. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 770
الوصول غير المتزامن إلى البيانات باستخدام SqlCommand . . . . . . . . . . . . . . . . . . . . . . . . 775
فهم معاملات قاعدة البيانات. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781
الفصل 23 ADO.NET الجزء الثاني: الطبقة المنفصلة. . . . . . . . . . . . . . . . . . . . . . . . 783
فهم الطبقة المنفصلة لـ ADO.NET . . . . . . . . . . . . . . . . . . . . . 783
فهم دور مجموعة البيانات. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784
العمل مع أعمدة البيانات. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787
العمل مع DataRows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789
العمل مع جداول البيانات. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793
ربط كائنات DataTable بواجهات المستخدم. . . . . . . . . . . . . . . . . . . . . . . . . . . . 798
تعبئة كائنات DataSet/DataTable باستخدام محولات البيانات. . . . . . . . . . . . . . . . . . . 808
إعادة النظر في AutoLotDAL.dll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811
التنقل في كائنات مجموعة البيانات المتعددة الجداول. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814
أدوات الوصول إلى البيانات في Visual Studio 2008. . . . . . . . . . . . . . . . . . . . . . . . . . . 820
فصل التعليمات البرمجية التي تم إنشاؤها تلقائيًا عن طبقة واجهة المستخدم. . . . . . . . . . . . . . . . . . . . . . . 831
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835
الفصل 24 البرمجة باستخدام واجهات برمجة تطبيقات LINQ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837
دور LINQ في ADO.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837
البرمجة باستخدام LINQ إلى DataSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838
البرمجة باستخدام LINQ إلى SQL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843
إنشاء فئات الكيانات باستخدام SqlMetal.exe . . . . . . . . . . . . . . . . . . . . . . . . . . 848
بناء فئات الكيانات باستخدام Visual Studio 2008. . . . . . . . . . . . . . . . . . . . . . . . 854
معالجة مستندات XML باستخدام LINQ إلى XML. . . . . . . . . . . . . . . . . . . . . . . . 857
التنقل في مستند في الذاكرة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 862
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865
الفصل 25: تقديم مؤسسة اتصالات Windows. . . . . . . . . . . . . . . 867
مجموعة من واجهات برمجة التطبيقات (API) للحوسبة الموزعة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867
دور صندوق رأس المال العامل. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 873
التحقيق في جمعيات WCF الأساسية. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 876
قوالب مشروع Visual Studio WCF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 877
التكوين الأساسي لتطبيق WCF . . . . . . . . . . . . . . . . . . . . . . . . . . . . 879
أبجديات WCF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 880
بناء خدمة WCF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885
استضافة خدمة WCF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888
بناء تطبيق عميل WCF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896
استخدام قالب مشروع مكتبة خدمة WCF. . . . . . . . . . . . . . . . . . . . . . . . . 900
استضافة خدمة WCF كخدمة Windows. . . . . . . . . . . . . . . . . . . . . . . . . 903
استدعاء الخدمة بشكل غير متزامن . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 908
تصميم عقود بيانات WCF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915
المحتويات الحادي عشر
الفصل 26: تقديم مؤسسة سير عمل Windows. . . . . . . . . . . . . . . . . . . . . 917
تعريف عملية الأعمال. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 917
اللبنات الأساسية للWF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 918
تجميعات WF، ومساحات الأسماء، والمشاريع. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924
إنشاء تطبيق بسيط يدعم سير العمل. . . . . . . . . . . . . . . . . . . . . . . . . 926
فحص رمز استضافة محرك WF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 930
استدعاء خدمات الويب ضمن سير العمل. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934
بناء مكتبة رموز WF قابلة لإعادة الاستخدام. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945
كلمة مختصرة بخصوص الأنشطة المخصصة . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 951
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 952
الجزء 6 واجهات مستخدم سطح المكتب
الفصل 27 البرمجة باستخدام نماذج Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955
مساحات أسماء نماذج Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955
بناء تطبيق نماذج Windows بسيط (خالي من IDE). . . . . . . . . . . . . . . . . . 956
قالب مشروع Visual Studio Windows Forms. . . . . . . . . . . . . . . . . . . . . . 961
تشريح النموذج. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 968
الاستجابة لنشاط الماوس. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975
الاستجابة لنشاط لوحة المفاتيح. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977
تصميم مربعات الحوار. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 978
عرض البيانات الرسومية باستخدام GDI+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 985
إنشاء تطبيق نماذج Windows كامل. . . . . . . . . . . . . . . . . . . . . . . . 990
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997
الفصل 28: تقديم Windows Presentation Foundation وXAML. . . . . . . 999
الدافع وراء WPF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 999
النكهات المختلفة لتطبيقات WPF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1002
التحقيق في جمعيات WPF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004
بناء تطبيق WPF (خالي من XAML). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1011
تفاصيل إضافية عن نوع التطبيق . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1015
تفاصيل إضافية عن نوع النافذة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1017
بناء تطبيق WPF (متمحور حول XAML). . . . . . . . . . . . . . . . . . . . . . . . . . . . 1021
تحويل العلامات إلى تجميعة .NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1025
فصل المخاوف باستخدام ملفات Code-Behind . . . . . . . . . . . . . . . . . . . . . . . 1029
بناء جملة XAML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1031
بناء تطبيقات WPF باستخدام Visual Studio 2008. . . . . . . . . . . . . . . . . . . . 1044
معالجة XAML في وقت التشغيل: SimpleXamlPad.exe . . . . . . . . . . . . . . . . . . . . . . 1048
دور Microsoft Expression Blend. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1053
المحتويات
الفصل 29 البرمجة باستخدام عناصر تحكم WPF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055
مسح لمكتبة التحكم WPF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055
الإعلان عن عناصر التحكم في XAML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1058
فهم دور خصائص التبعية. . . . . . . . . . . . . . . . . . . . . . 1060
فهم الأحداث الموجهة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1064
العمل مع أنواع الأزرار. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1068
العمل مع خانات الاختيار وأزرار الراديو. . . . . . . . . . . . . . . . . . . . . . . . . . . 1072
العمل مع أنواع ListBox وComboBox. . . . . . . . . . . . . . . . . . . . . . . . 1075
العمل مع مناطق النص. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1081
التحكم في تخطيط المحتوى باستخدام اللوحات. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1083
بناء إطار النافذة باستخدام اللوحات المتداخلة. . . . . . . . . . . . . . . . . . . . . . . 1093
فهم أوامر التحكم WPF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1099
فهم نموذج ربط البيانات WPF . . . . . . . . . . . . . . . . . . . . . . . . . . 1102
تحويل البيانات باستخدام IValueConverter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1106
الربط بالكائنات المخصصة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1108
ربط عناصر واجهة المستخدم بمستندات XML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1112
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1116
الفصل 30 العرض الرسومي والموارد والموضوعات الخاصة بـ WPF 2D. . . . . . . . . 1117
فلسفة خدمات العرض الرسومية WPF. . . . . . . . . . . . . . . . . . . . 1117
استكشاف الأنواع المشتقة من الشكل. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1124
العمل مع فرش WPF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1127
العمل مع أقلام WPF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1130
استكشاف الأنواع المشتقة من الرسم. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1130
دور تحويلات واجهة المستخدم. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1135
فهم خدمات الرسوم المتحركة الخاصة بـ WPF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1136
فهم نظام موارد WPF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1145
تحديد وتطبيق الأنماط لعناصر تحكم WPF. . . . . . . . . . . . . . . . . . . . . . . . . 1147
تغيير واجهة مستخدم عنصر التحكم باستخدام القوالب. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1156
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1160
الجزء السابع بناء تطبيقات الويب باستخدام ASP.NET
الفصل 31 إنشاء صفحات ويب ASP.NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1163
دور HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1163
فهم تطبيقات الويب وخوادم الويب. . . . . . . . . . . . . . . . . . . . . . 1164
دور HTML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1167
دور البرمجة النصية من جانب العميل. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1172
تقديم بيانات النموذج (GET وPOST). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1174
بناء صفحة ASP كلاسيكية. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1175
مشاكل مع ASP الكلاسيكي . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1177
مساحات أسماء ASP.NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1178
نموذج رمز صفحة الويب ASP.NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1179
تفاصيل بنية دليل موقع ASP.NET. . . . . . . . . . . . . . . . . . . . . . 1190
دورة تجميع صفحات ASP.NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1192
المحتويات 13
سلسلة وراثة نوع الصفحة . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1194
التفاعل مع طلب HTTP الوارد. . . . . . . . . . . . . . . . . . . . . . . . . . . 1195
التفاعل مع استجابة HTTP الصادرة. . . . . . . . . . . . . . . . . . . . . . . . . . 1198
دورة حياة صفحة ويب ASP.NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1200
دور ملف Web.config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1203
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1206
الفصل 32 عناصر تحكم ويب ASP.NET والموضوعات والصفحات الرئيسية. . . . . . . . . . . . 1207
فهم طبيعة عناصر التحكم في الويب. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1207
نوع System.Web.UI.Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1209
نوع System.Web.UI.WebControls.WebControl. . . . . . . . . . . . . . . . . . . . . . 1213
الفئات الرئيسية لعناصر تحكم ويب ASP.NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1213
إنشاء موقع ويب ASP.NET غني بالميزات. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1215
دور ضوابط التحقق من الصحة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1231
العمل مع المواضيع. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1237
تحديد المواقع الضوابط باستخدام جداول HTML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1243
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244
الفصل 33 تقنيات إدارة حالة ASP.NET. . . . . . . . . . . . . . . . . . . . . . . 1245
قضية الدولة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1245
تقنيات إدارة حالة ASP.NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1247
فهم دور حالة عرض ASP.NET. . . . . . . . . . . . . . . . . . . . . . . . . 1248
دور ملف Global.asax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1251
فهم تمييز التطبيق/الجلسة. . . . . . . . . . . . . . . . . . . . . . 1254
العمل مع ذاكرة التخزين المؤقت للتطبيق. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1259
الحفاظ على بيانات الجلسة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1263
فهم ملفات تعريف الارتباط. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1267
دور عنصر
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1269
فهم واجهة برمجة تطبيقات ملف تعريف ASP.NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1272
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1279
الجزء 8 نن الملاحق
nAPPENDIX A إمكانية التشغيل التفاعلي لـ COM و.NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1283
نطاق التشغيل المتداخل .NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1283
مثال بسيط لـ .NET to COM Interop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1284
التحقق من تجميع .NET Interop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1287
فهم الغلاف القابل للاستدعاء في وقت التشغيل. . . . . . . . . . . . . . . . . . . . . . . . . . 1289
دور COM IDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1292
استخدام مكتبة النوع لإنشاء تجميع Interop. . . . . . . . . . . . . . . . . . . . . . 1296
إنشاء خادم COM أكثر تفصيلاً. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1299
فحص الجمعية Interop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1301
فهم إمكانية التشغيل المتداخل من COM إلى .NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1305
دور اتفاقية الأسلحة التقليدية. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1306
دور واجهة فئة .NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1307
المحتويات
بناء أنواع .NET الخاصة بك. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1308
إنشاء مكتبة النوع وتسجيل أنواع .NET. . . . . . . . . . . . . . 1310
فحص معلومات النوع المصدرة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1311
بناء عميل اختبار Visual Basic 6.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1312
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1313
nAPPENDIX B تطوير .NET مستقل عن النظام الأساسي باستخدام Mono . . . . . . . . . . . 1315
الطبيعة المستقلة للنظام الأساسي لـ .NET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1315
الحصول على وتثبيت Mono . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1318
أدوات التطوير الأحادية. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1321
إنشاء تطبيقات .NET باستخدام Mono . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1323
اقتراحات لمزيد من الدراسة. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1330
ملخص . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1331
نيندكس. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1333
يوسع
معلومات إضافية
الإصدار
النوع
تطوير البرمجة
وقت التحديث
2009-06-09
الحجم
17617920
اللغة
الصينية المبسطة
تطبيقات ذات صلة
الإصدار المنقح لبرمجة Microsoft.NET Framework
2009-07-15
شرح تفصيلي لمنصة التكنولوجيا C# و .net
2009-06-02
تمرين عملي على منصة التكنولوجيا C# و.NET
2009-06-02
أجاكس البرمجة المتقدمة
2009-05-29
أساسيات برمجة ASP.NET
2009-05-26
لغة سي #ASP.NET
2009-05-26
نوصي لك
جوجل كروم
تصفح الصفحة الرئيسية
3.0.190.0 build 18892 绿色多语版_Google Chrome浏览器
جوجل كروم
تصفح الصفحة الرئيسية
3.0.182.3 Dev 多国语言官方安装版
جوجل كروم
تصفح الصفحة الرئيسية
3.0.182.3 Dev 多国语言绿色便携版
مقدمة تفصيلية لتنسيق ملف KML
دروس XML
وثيقة تعليمات النسخة الصينية JDK 6.0 (مع وظيفة البحث، تنسيق chm)
البرنامج التعليمي JSP
برنامج لاعتراض مقاطع الفيديو ونقلها عبر الإنترنت بتنسيق mpeg4
VC/VC++
دليل الإصدار الصيني PHP (تنسيق CHM الموسع)
PHP البرنامج التعليمي
كود مصدر التحويل عبر الإنترنت لتنسيق Flv للفيديو
فئات أخرى
الطبعة الصينية الخضراء المبسطة المجانية
تحويل الفيديو
V1.90 简体中文绿色免费版
أخبار ذات صلة
الكل
تعلم المعرفة الأساسية لـ C# التي يتطلبها ASP.NET
2009-12-05
فئة ملف xml لمعالجة .net (c#)
2009-07-01
رمز التحقق لـ ASP.net (C#)
2009-07-01
Asp.net(C#) تحميل ملفات متعددة
2009-06-30
مفاهيم التعبيرات العادية لـ .NET باستخدام التقنيات المتقدمة
2009-06-30
تعبيرات .NET العادية باستخدام تقنيات متقدمة للمراجع الخلفية
2009-06-30
يقوم Asp.net (c#) بتنفيذ استئناف نقاط التوقف متعددة الخيوط
2009-06-30
التكامل الدقيق بين Flash و.NET في ASP.NET
2009-06-30
يقوم asp.net بتنفيذ تمييز كود C#
2009-06-30
استخدام C# لتنفيذ التحكم في مستخدم عداد الموقع في asp.net
2009-06-30
فئة تشغيل قاعدة البيانات Asp.net(c#).
2009-06-25
ASP.NET مدمج مع DreamweaverMx
2009-05-31
تعليقات المستخدمين