العودة   منتدى رياض الجنة - 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

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

الساعة الآن 03:43 PM.


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