العودة   منتدى رياض الجنة - Riad Al-Ganah > الرياض التقنية > روضة الكورسات والدورات التقنية والعلمية > روضة دورات تقنية الـ .NET بلغاتها المختلفة > دورة .NET 2008 من منتدى فيجوال بيسك للعرب

دورة .NET 2008 من منتدى فيجوال بيسك للعرب مقدم الدورة : أحمد جمال ، نوع الدورة : كتابية مصحوبة بصور ، حالة الدورة : انتهت ، عدد الدروس : 80 درس . مستوى الدورة : من البداية للاحتراف .

إضافة رد

 
أدوات الموضوع انواع عرض الموضوع
  #1  
قديم 02-28-2010, 05:41 PM
الصورة الرمزية khaledbelal
khaledbelal khaledbelal غير متواجد حالياً
مبرمج المنتدى
الادارة تكليف لا تشريف
 
تاريخ التسجيل: Oct 2009
العمر: 34
المشاركات: 3,606
افتراضي الدرس السادس والأربعون : Preprocessor Directives - دورة .net 2008

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

كثيراً خلال تصفحك للبرامج او للمشاريع الجاهزة أو حتى للادوات في برنامجك ما تعثر على الشكل التالي مثلاً :



وكنت على حد علمك تعرف انها طريقة لوضع مجموعة من الاكواد ضمن حدود معينة بحيث يتم فتحها واغلاقها بسهولة لضمان عدم التشويش لك أثناء كتابتك الكود ، إلا ان ما ستعرفه في هذا الدرس أن هذه ال Regions وخلافها هي مجموعة من ال Preprocessor Directives التي سنتعرف عليها تفصيلاً في هذا الدرس .

#region, #endregion

تستخدم عادة لتنسيق مظهر الكود في ملف cs الخاص بك كما ذكرنا سابقاً ، يمكن كتابتها بالشكل التالي مثلاً :


C#:
كود PHP:
#region "Class Employee"
        
public class Employee
        
{
            private 
string _name;
            private 
string _age;
            private 
string _salary;
            public 
string name
            
{
                
get { return _name; }
                
set _name value; }
            }
            public 
string age
            
{
                
get { return _age; }
                
set _age value; }
            }
            public 
string name
            
{
                
get { return _salary; }
                
set _salary value; }
            }
        }
        
#endregion 
vb.net:

كود PHP:
#Region "Class Employee" 
Public Class Employee 
    
    
Private _name As String 
    
Private _age As String 
    
Private _salary As String 
    
    
Public Property name() As String 
        Get 
            
Return _name 
        End Get 
        Set 
            _name 
value 
        End Set 
    End Property 
    
    
Public Property age() As String 
        Get 
            
Return _age 
        End Get 
        Set 
            _age 
value 
        End Set 
    End Property 
    
    
Public Property name() As String 
        Get 
            
Return _salary 
        End Get 
        Set 
            _salary 
value 
        End Set 
    End Property 
End 
Class 
#End Region 
الآن يمكنك فتحها واغلاقها من الطرف ، بحيث يكون كودك منظماً بالشكل التالي مثلاً :



#if, #elif, #else, #endif

يطلق عليها اسم Conditional Code Compilation ، وتستخدم لتنفيذ اجزاء معينة من الكود في حالات معينة فقط ، فمثلاً لجعل جزء من الكود لا يعمل فقط إلا وقت ال Debug وليس في وقت ال Relase نكتب الكود بالشكل التالي :

C#:
كود PHP:
#if DEBUG
Console.WriteLine("App directory: {0}",
Environment.CurrentDirectory);
Console.WriteLine("Box: {0}",
Environment.MachineName);
Console.WriteLine("OS: {0}",
Environment.OSVersion);
Console.WriteLine(".NET Version: {0}",
Environment.Version);
#endif 
vb.net:
كود PHP:
#If DEBUG Then 
Console.WriteLine("App directory: {0}"Environment.CurrentDirectory
Console.WriteLine("Box: {0}"Environment.MachineName
Console.WriteLine("OS: {0}"Environment.OSVersion
Console.WriteLine(".NET Version: {0}"Environment.Version
#End If 
بنفس الطريقة يمكن استخدام else و elif .

#define, #undef

تستخدم لتعريف symbol معين ، مثلاً يمكنك تعريف symbol لل Debug ، او يمكنك تعريف symbol خاص بك بأي اسم ليتم استخدامه لاحقاً ، المثال التالي مثلاص لتعريف Symbol يعني ان هذا الكود يتم عمل Debug له فقط على Mono .



لاحقاً يمكنك كتابة كود بالشكل التالي :

C#:
كود PHP:
#define DEBUG
#define MONO_BUILD
using System;
namespace 
PreprocessorDirectives
{
class 
Program
{
static 
void Main(string[] args)
{
#if MONO_BUILD
Console.WriteLine("Compiling under Mono!");
#else
Console.WriteLine("Compiling under Microsoft .NET");
CHAPTER 12 n INDEXERSOPERATORS, AND POINTERS 413
#endif
}
}

vb.net:
كود PHP:
#Define DEBUG 
#Define MONO_BUILD 
Imports System 
Namespace PreprocessorDirectives 
    
Class Program 
        
Private Shared Sub Main(ByVal args As String()) 
            
#If MONO_BUILD Then 
            
Console.WriteLine("Compiling under Mono!"
            
#Else 
            
Console.WriteLine("Compiling under Microsoft .NET"
            
CHAPTER 
            12 
            Dim INDEXERS 
As nOPERATORS As n, [AND] As 
            POINTERS 
            413 
            
#End If 
        
End Sub 
    End 
Class 
End Namespace 
والله الموفق ...
والسلام عليكم ورحمة الله وبركاته .


توقيع : khaledbelal



(أَفَأَمِنَ أَهْلُ الْقُرَى أَن يَأْتِيَهُمْ بَأْسُنَا بَيَاتاً وَهُمْ نَآئِمُونَ {97} أَوَ أَمِنَ أَهْلُ الْقُرَى أَن يَأْتِيَهُمْ بَأْسُنَا ضُحًى وَهُمْ يَلْعَبُونَ {98}
أَفَأَمِنُواْ مَكْرَ اللّهِ فَلاَ يَأْمَنُ مَكْرَ اللّهِ إِلاَّ الْقَوْمُ الْخَاسِرُونَ {99}).
سورة الأعراف.

رد مع اقتباس
إضافة رد


تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
الدرس السادس عشر : ال OverLoading دورة .net 2008 khaledbelal دورة .NET 2008 من منتدى فيجوال بيسك للعرب 1 03-02-2011 03:43 PM
الدرس السادس والخمسون : أدوات Wpf - دورة .net 2008 khaledbelal دورة .NET 2008 من منتدى فيجوال بيسك للعرب 1 03-05-2010 07:06 PM
الدرس الثاني والأربعون : ال Gc دورة .net 2008 khaledbelal دورة .NET 2008 من منتدى فيجوال بيسك للعرب 0 02-26-2010 04:17 PM
الدرس السادس والثلاثون : Extension Methods دورة .net 2008 khaledbelal دورة .NET 2008 من منتدى فيجوال بيسك للعرب 0 02-25-2010 02:49 PM
الدرس السادس والعشرون : ال Interfaces دورة .net 2008 khaledbelal دورة .NET 2008 من منتدى فيجوال بيسك للعرب 0 02-24-2010 01:44 PM

استضافة الحياة

الساعة الآن 02:27 AM.


Powered by vBulletin® v3.8.4, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. , TranZ By Almuhajir
النسخة الفضية
Ads Management Version 3.0.1 by Saeed Al-Atwi

SlamDesignzslamDesignzEdited by Riad Al-Ganah Team - جميع الحقوق محفوظة لشبكة رياض الجنة

Privacy Policy Valid XHTML 1.0 Transitional By SlamDesignz Valid CSS Transitional By SlamDesignz