إن كنت تتعامل مع OOP فأنصحك أن تطلع على AOP أيضاً لا شك أن الغالبية من المبرمجين يعرفوا ما هي الـ OOP Object Oriented Programming التي يقابلها عدة ترجمات مثل : البرمجة غرضية التوجه أو البرمجة غرضية المنحى أو البرمجة الشيئية أو البرمجة الموجهة نحو الهدف وما شابه ذلك باختصار هي نمط برمجي ولا دخل للغة بها إلا من كون اللغة تدعم هذا النمط أو لا وما نقصد بالنمط يعني طريقة أو أسلوب ما يستخدم في كتابة البرامج من خلال
سي شارب #C
2.55 ألف متابع
مجتمع للمهتمين بلغة البرمجة سي شارب #C
سيحوي مواضيع و روابط و تقنيات و أخبار و تلميحات و نصائح و مهارات و أي أمور أخرى تتعلق بهذه اللغة.
بسم الله الرحمن الرحيم . لا شك أن البعض يكون جزء من عمله البرمجي متكرر وروتيني ، وطبع المبرمج أنه يحب التجديد وتحليل المعضلات وإيجاد حلول مبتكرة، وتجسيد هذا الابداع في شيفرته. إلا أن بعض الأجزاء تعتبر متكررة وروتينية وخصوصا المسائل المتعلقة بالتعامل مع قواعد المعطيات و الجداول و القراءة والتعديل والحفظ وإلا غير ذلك من العمليات التي أصبحت لا تحتاج إلى إبداع لأن طريق التعامل معها أصبح معروفاً. هنا يمكن التخلص من الملل الحاصل بتحويل الإبداع من تنفيذ هذه
لغات المجال المخصص Domain Specific Language والتي يرمز لها بالاختصار DSL هي نمط من البرمجة يمكن تطبيقه على أي لغة وطبعا لا يتعارض مع أنماط البرمجة الأخرى مثل OOP أو البرمجة الوظيفية وإنما يبنى عليها حيث يمكن تشبيهه بأنه أسلوب لبناء أدوات و وظائف ثم استخدامها في البرمجة حيث تجعل الكود أكثر مقروئية وأسهل في الصيانة والتحكم والتطوير هنا مثلا كيفية تطبيق هذا النمط من خلال لغة سي شارب #C http://www.youtube.com/watch?v=X9XmpctVRKU الكتاب الأشهر في هذا المجال لمؤلف هذا النمط مارتن
تلميح | المنهج المُضاف Extension Method له ميزة ليست موجودة في المنهج المُضمن Embedded Method السلام عليكم ورحمة الله وبركاته بسم الله الرحمن الرحيم نحن نعلم أن المناهج Method هي أحد أنواع الأعضاء التي يمكن تعريفها ضمن الفئات Class public class MyClass { public void MyMethod() { } } ويتم الوصول إليها من خلال الكائن المُنشأ من هذه الفئة ثم نقطة التبعية ثم اسم المنهج MyClass MyInstance = new MyClass(); MyInstance.MyMethod(); ثم أضيفت ميزة للغة سي شارب وهي المناهجة المُضافة/الموسعة/الملحقة
بسم الله الرحمن الرحيم أولا ما هو الاستدعاء التبادلي ؟ هو أن يكون لدينا أجراءان أو أكثر وتستدعي بعضها البعض كمثال : ليكن لدينا المنهجان Method1 , Method2 ولنفرض أنه يتم استدعاء Method2 من داخل Method1 والعكس أي يتم استدعاء Method1 من داخل Method2 فهذا سيولد حالة الاستدعاء الدوراني Circular Calling وسينتهي الأمر باستثناء طفحان المكدس إذا فما الحل ؟ الحل ببساطة هو عمل حماية ذاتية كيف ؟ نصرح عن متحول بولياني يعبر عن المنهج بحيث يتم جعله بقيمة true
الألة ذات الحالات المحددة Finite-state machine هو مفهوم يطبق لبناء أي شيء ينتقل بين عدة حالات سواء هذا الشيء آلة ميكانيكية أو كهربائية أو أي شيء يخضع لهذا المفهوم قبل أن أبدأ الفكرة سأوضح هذا المفهوم من خلال أمثلة في حياتنا. إشارة المرور الضوئية تنتقل بين عدة حالات محددة ( أحمر - برتقالي - أخضر - أخضر وبرتقالي معا (وأحيانا يكون أخضر وامض) ) الإشارة في لحظة ما يجب أن تكون في إحدى هذه الحالات تتنقل بينها وفق تسلسل معين
السلام عليكم عند محاولتي لإنشاء برنامج بـ wpf و بعد إستعمالي لـ zend framework 2 أدركت أهمية إطارات العمل فهي توفر الكثير من الجهد و الوقت وبعد بحث وجدت الكثير و أكثر إثنين جذبا إنتباهي هما - MVVM Light - WAF فالأول يبدو سهل التعلم ولكن لم أجد أمثلة ملموسة والثاني العكس تماما فأمثلته موجودة ولكن شرحها غير موجود فهل يوجد إطار عمل يجمع بين الأمرين - توفر دروس حوله - توفر أمثلة حول توظيفه ( خاصة مع EF )
عند التعامل مع قاعدة بيانات كبيرة حاول أن تتعامل مع IQueryable و حاول الاستغناء قدر ما تستطيع عن IEnumerable لأن IEnumerable تعتبر Linq to Object وبالتالي فهي ستحضر العناصر إلى الذاكرة أولا ومن ثم ستنفذ الاستفسارات Linq عليها بينما IQueryable يحول الاستفسار إلى استفسار نصي يرسله إلى قاعدة البيانات ويتم تنفيذه داخل قاعدة البيانات ثم يعود بالنتيجة فقط راجعوا الدرسين التاليين : http://www.youtube.com/watch?v=7ssbfLdQGyg http://www.youtube.com/watch?v=RYvuaU47h2w
عملت على تطبيق يعمل على لغتين العربية و الانجليزية ويتم تفعيل اللغة بمجرد اعادة تشغيل البرنامج ظننت أن الامور تسير على ما يرام الى ان أنشات Setup.exe بعد تثبيت هذا الاخير لم يعد يعمل البرنامج مثلما كان يعمل مع ملف debug الذي كان يعرض البرنامج باللغة التي يتم أختيارها هل لديكم فكرة عن هذا الخطأ علما ان هذا هو الكود المستعمل ;("Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("ar
#السلام عليكم و رحمة الله و بركاته أود تعلم لغة c# لكي أبرمج تطبيقات ويندوز فون و قد وجدت أن تطبيقات ويندوز فون تبرمج بواسطة Silverlight التي تستخدم في c# و أنا أريد نصائح مفيدة و دورات أو كتب أو دروس لتعلم هذه اللغة بالعربية أو الإنجليزية و لدي بعض الأسئلة : * هل يمكنني أن أتعلم البرمجة بالSilverlight مباشرة قبل تعلم c# * ما هي بيئة العمل الخاصة ببرمجة ويندوز فون * هل برمجة تطبيقات ويندوز فون 7 و
ماهي المواضيع التي يجب ان اتعلمها في لغة C# حتى اتمكن من ان اطور مواقع بواسطة asp.net انا متأكد اني لست بحاجة الى تعلم كامل اللغة أليس كذلك؟ اذن ماهي المواضيع التي يجب ان اتعلمها؟
بسم الله الرحمن الرحيم فئة List في مكتبة Framework.Net أشهر من نار على علم لكثرة استخدامها و ما يميزها هو مرونة التعامل معها من حيث الإضافة والحذف والتعامل معها كمصدر للبيانات و الوصول إلى عناصرها يكون إما برقم السجل أو من خلال الاستفسار Linq to Object الخاص بالفئات الموروثة من الإنترفيس IEnumerable كما أننا نحتاج للتعامل مع Dictionary في حال أردنا أن تكون العناصر مفتاحية للوصول إلى عناصرها من خلال رقم السجل أو من خلال الكلمة المفتاحية له وفي هذا
بسم الله الرحمن الرحيم من المعروف أنه إذا كان لدينا مكتبة أصناف وكانت تشير إلى مكتبة أخرى في مراجعها لا يمكن أن نجعل المكتبة الثانية تشير إلى الأولى في مراجعها. لأن هذا سيسبب ظهور رسالة خطأ أن هناك إشارة دائرية Circular Referencing. فكيف نعمل إن كنا نريد استخدام كل مكتبة في الأخرى ؟ إليك الطريقة : ليكن لدينا المكتبة AssemblyA.dll و تحوي فئة ClassA و مكتبة أخرى AssemblyB.dll و تحوي فئة ClassB ونريد أن نستخدم الكلاس ClassB ضمن الكلاس ClassA
بسم الله الرحمن الرحيم في معظم الأحيان نحتاج لتمرير اسم الخاصية عبر الإجراءات من خلال بارمتر من النوع String وهذا هو المشهور ولكن التعامل مع الأسماء كنص له محاذير أثناء التطوير لأنك لو كنت تتعامل مع فئة وليكن فئة تمثل جدول في قاعدة بيانات و تحتوي على خصائص تمثل الأعمدة أو الحقول في ذاك الجدول وأردت التعامل معها وتم استخدام أسماءها لتمريرها عبر الإجراءات فإنه قد يحصل أن تغير الفئة مستقبلا وتقوم بتغيير أسماء الخصائص أو تحذف بعضها حينها سيتولد
بسم الله الرحمن الرحيم لعل أحدكم بعد أن يكبر مشروعه يبدأ يشعر أن برنامجه يعاني ببطء في الإقلاع وربما يعود ذلك لكثرة التهيئات الأولية للمجموعات والمصفوفات واللوائح وقد تكون المجموعة مكونة من عدد كبير من فئة ما ولتكن MyClass ولربما هذه الفئة تحتوي في مشيدها Constructor بعض الاستدعاءات والعمليات اللتي تستغرق زمن فما العمل إذا : في هذه الحالة ربما تنفعنا الفئة Lazy التي من أهم أهدافها حل هذه المشكلة الفئة ليزي هي من النوع العام أي جينيرك Generic أي
تنويه | في WPF أو SilverLight انتبه لاستخدام الربط Binding للـ DataContext نحن نعلم أنه عند تغيير DataContext لأي عنصر يقوم بتعميمه على كل العناصر الأبناء أي العناصر الفرعية التي تقع تحته ولكن في بعض الأحيان قد يلزم أن نجعل أحد العناصر الأبناء يربط خصائصه بمصدر بيانات مختلف سواء داخل XAML أو من خلال الكود ولكن يجب الانتباه عند ربط الـ DataContext نفسها للعنصر الابن بأحد خاصيات مصدر الأب لأن هذا سيعمل أول مرة ومن ثم سيفقد الاستجابة لماذا ؟