چهارشنبه ۰۵ اردیبهشت ۰۳

پرتال فروشگاهي-CMSفروشگاهي-سايت ساز فروشگاهي

كامل ترين سيستم فروشگاهي با استفاده از بهترين تكنولوژي ها

پرتال فروشگاهي با بهترين امكانات

۱۳ بازديد

معرفي ماژول محصولات:

 

  • امكان ايجاد گروه هاي محصولات بصورت چند مرحله اي و نامحدود
  • ورود محصول با امكان تعريف نام، خلاصه، متن كامل توضيحات محصول، تصوير ، تاريخ درج ، تاريخ انتشار ، برچسب ها، كلمات كليدي و توضيحات موتورهاي جستجوگر و ...
  • امكان نمايش ليست محصولات بهمراه قابليت مرتب سازي بر اساس هر يك از ويژگي هاي مقاله(نام عنوان ، تعداد بازديد ، تاريخ انتشار و ....)
  • امكان درج تصوير با امكان كوچك سازي تصوير بدون تغيير مقياس (scale) بهمراه فيلتر گذاري روي تصوير
  • امكان تعيين قيمت
  • امكان تعيين قيمت با تخفيف
  • امكان تعيين قابل فروش بودن محصول
  • امكان تعيين حداقل سفارش و يا حداكثر سفارش براي هر محصول
  • نمايش انبار براي هر محصول و موجودي انبار
  • امكان معرفي محصولات مرتبط
  • امكان تخفيفات متنوع بر اساس ميزان خريد ، سوابق خريد و امتياز كاربر و تخفيفات مناسبتي
  • امكان تعيين اينكه هر محصول داراي چه نوع تخفيفاتي باشد
  • امكان تعيين خصوصيات پايه فروش نظير ميزان درصد ماليات بر ارزش افزوده و...
  • امكان تعيين كليپ براي محصول
  • امكان ثبت نظرات كاربران براي محصولات سايت
  • نمايش ليست محصولات با امكان تعيين نمايش يا عدم نمايش ستون هاي اطلاعاتي و ذخيره ي اين وضعيت در مرورگر كاربر براي مراجعات بعدي(مثلا مدير مي تواند تعيين كند در جدول مديريت محصولات فقط عنوان و تصوير نمايش داده شود. اين كار براي مرور سريع مقالات و نمايش ساده و يا كامل ويژگي ها مناسب است.)
  • امكان انتخاب چندين محصول در جدول و امكان حفظ يا فعال / غير فعال كردن
  • امكان تعيين ترتيب براي نمايش محصولات در سايت
  • امكان جستجوي تركيبي در محصولات بر اساس تمامي فيلدهاي اطلاعاتي ، همچنين با تعيين بازه هاي زماني درج و انتشار
  • امكان نمايش گروههاي ايجاد شده بصورت درختي براي مرور بسيار آسان محصولات هر يك از گروهها و زير گروهها (براي اطلاعات بيشتر به شرح ويژگي هاي ماژول مديريت گروههاي اطلاعاتي رجوع نماييد.)
  • امكان لينك به هر يك از محصولات در سايت در صفحه ي مديريت
  • امكان ايجاد گالري تصاوير براي هر يك از محصولات با امكان تعيين توضيحات ، ايجاد تصوير كوچك بصورت اتوماتيك (thumbnail) و تعيين ترتيب نمايش
  • امكان بهره گيري از طيف وسعيي از ابزاهاي مرتبط با اين ماژول كه در قسمت ابزارهاي محصولات بصورت كامل معرفي شده است.
  • امكان اختصاص برچسب به مقالات با انتخاب از ليست برچسب ها (ماژول برچسب ها مي تواند اين امكان را در ساير ماژول ها فراهم نمايد.)
  • امكان مشاهده ي آمار كامل مقالات نظير تعداد مقالات منتشر شده ، تعداد كل گروههاي مقالات ، تعداد مقالات فعال/غيرفعال ، مقالات در انتظار نمايش و ....

معرفي ماژول آزمون ساز الكترونيكي:

 

اين ماژول امكان ايجاد آزمون هاي آنلاين را فراهم مي كند. ماژول آزمون از چندين بخش تشكيل شده كه در مجموع بصورت واحد ايجاد و برپايي يك آزمون را بر عهده دارند.

بخش بانك پرسش و پاسخ
  • امكان گروه بندي سوالات بصورت سلسله مراتبي و نامحدود
  • امكان ايجاد سوالات تستي و تشريحي
  • امكان ايجاد بارم براي سوال
  • امكان نمايش ليست سوالات بهمراه قابليت مرتب سازي بر اساس هر يك از ويژگي هاي سوالات (نظير عنوان، تاريخ انتشار و.... )
  • نمايش ليست سوالات با امكان تعيين نمايش يا عدم نمايش ستون هاي اطلاعاتي و ذخيره ي اين وضعيت در مرورگر كاربر براي مراجعات بعدي
  • امكان انتخاب چندين سوال در جدول و امكان حفظ يا فعال / غير فعال كردن
  • امكان تعيين ترتيب براي نمايش سوالات در سايت
  • امكان جستجوي تركيبي در سوالات بر اساس برخي فيلدهاي اطلاعاتي ، همچنين با تعيين بازه هاي زماني درج و انتشار خبر
  • امكان نمايش گروههاي سوالات ايجاد شده بصورت درختي براي مرور بسيار آسان خبرهاي هر يك از گروهها و زير گروهها (براي اطلاعات بيشتر به شرح ويژگي هاي ماژول مديريت گروههاي اطلاعاتي رجوع نماييد.)
بخش مديريت طراحان سوال
  • امكان مديريت سازندگان سوالات
  • درج سازنده سوال با مشخصات نام و نام خانوادگي، منبع يا ناشر سوال، ترتيب و...
  • امكان فعال/غيرفعال و ترتيب در جدول مديريت سوالات
بخش مستندات آزمون

هر آزمون در راشين پرتال مي تواند حاوي بانك اطلاعاتي شامل مستندات آزمون حاوي متن، صوت و فيلم باشد.
برخي از ويژگي هاي مستندات هر آزمون عبارتند از:

  • امكان گروه بندي مستندات هر آزمون بصورت سلسله مراتبي و نامحدود
  • امكان نمايش گروههاي مستندات ايجاد شده بصورت درختي براي مرور بسيار آسان مستندات هر يك از گروهها و زير گروهها (براي اطلاعات بيشتر به شرح ويژگي هاي ماژول مديريت گروههاي اطلاعاتي رجوع نماييد.)
  • ورود مستند با امكان تعريف عنوان، خلاصه متن، متن كامل مستند ، تصوير ، تاريخ درج ، تاريخ انتشار، تاريخ انقضاء ، فايل هاي ضميمه ، فايل هاي ويديويي و ...
  • امكان نمايش ليست مقالات بهمراه قابليت مرتب سازي بر اساس هر يك از ويژگي هاي مقاله(نظير عنوان ، تعداد بازديد ، تاريخ انتشار و ....)
  • نمايش ليست مستندات با امكان تعيين نمايش يا عدم نمايش ستون هاي اطلاعاتي و ذخيره ي اين وضعيت در مرورگر كاربر براي مراجعات بعدي
  • امكان انتخاب چندين مستند در جدول و امكان حفظ يا فعال / غير فعال كردن
  • امكان تعيين ترتيب براي نمايش مستندات در سايت
  • امكان جستجوي تركيبي در مستندات بر اساس تمامي فيلدهاي اطلاعاتي ، همچنين با تعيين بازه هاي زماني درج و انتشار هر سند امكان درج تصوير با امكان كوچك سازي تصوير بدون تغيير مقيا
  • س (scale) بهمراه فيلتر گذاري روي تصوير
  • امكان لينك به هر يك از مستندات در سايت در صفحه ي مديريت
بخش مديريت آزمون
  • امكان گروه بندي آزمون ها بصورت سلسله مراتبي و نامحدود
  • امكان نمايش آزمون هاي ايجاد شده بصورت درختي براي مرور آسان آزمون هاي هر يك از گروهها و زير گروهها (براي اطلاعات بيشتر به شرح ويژگي هاي ماژول مديريت گروههاي اطلاعاتي رجوع نماييد.)
  • ورود آزمون با امكان تعريف عنوان، متن توضيحات كامل راهنماي آزمون، تصوير، تاريخ درج ، تاريخ شروع آزمون، تاريخ پايان آزمون، مدت زمان آزمون، حداكثر تعداد شركت كننده ، امكان نمايش كارنامه، امكان نمايش پاسخ نامه، امكان مشخص نمودن تاريخ براي زمان نمايش پاسخ نامه و كارنامه، تعيين وضيت سوالات (سوالات تصادفي يا نمايش كل سوالات آزمون)
  • امكان درج سوالات از بانك سوالات در هر آزمون بهمراه تعيين بارم مثبت و منفي هر سوال و همچنين تعيين ترتيب سولات
  • امكان نمايش ليست آزمون ها بهمراه قابليت مرتب سازي بر اساس هر يك از ويژگي هاي آزمون (نظير عنوان ، تعداد بازديد ، تاريخ شروع و پايان و ....)
  • نمايش ليست آزمون ها در جدول با امكان تعيين نمايش يا عدم نمايش ستون هاي اطلاعاتي و ذخيره ي اين وضعيت در مرورگر كاربر براي مراجعات بعدي
  • امكان جستجوي تركيبي در آزمون ها بر اساس برخي فيلدهاي اطلاعاتي ، همچنين با تعيين بازه هاي زماني درج و انتشار هر سند
  • امكان درج تصوير با امكان كوچك سازي تصوير بدون تغيير مقياس (scale) بهمراه فيلتر گذاري روي تصوير
  • امكان مشاهده كاربران شركت كننده در آزمون بهمراه نمايش كارنامه آن ها
بخش مديريت كاربران آزمون
  • ايجاد و تعريف كاربر براي آزمون
  • ايجاد نام كاربري و رمز عبور به صورت گروهي و بر اساس text و همچنين امكان توليد رمزهاي عبور بصورت خودكار

همه چيز درباره برنامه نويسي سي شارپ كامل

۱۴ بازديد

سي‌شارپ (C#) زباني شيءگرا و سطح بالا (high level) از خانوادهٔ زبان‌هاي چارچوب دات‌نت شركت مايكروسافت است.
زبان #C، يك زبان برنامه نويسي چند الگويي است و منظم شده مدل هاي تابعي، امري، عمومي، شي گرا و جز گرا مي باشد. اين زبان توسط ماكروسافت و جزئي از دات نت به وجود آمد و بعدا استانداردهاي ECMAو ISO را نيز در بر گرفت. #C يكي از 44 زبان برنامه نويسي اي است كه توسط Common Language Runtime از .NET Framework پشتيباني مي شوند و در همه جا به وسيله Microsoft Visual Studio شناخته مي شود.
 

 

 

اين زبان برپايه سادگي، مدرن بودن، همه منظوره و شي گرا بودن ساخته شد.Anders Hejlsberg، طراح زبان برنامه نويسي دلفي، سرپرستي تيم طراحان زبان #C را بر عهده داشت.اين زبان داراي دستوري شي گرا مشابه ++C است و به شدت از زبان هاي جاوا و دلفي تاثير پذيرفته است.در ابتدا نام اين زبان COOL بود كه مخفف C like Object Oriented Language بود، هر چند در جولاي 2000، زماني كه ماكروسافت پروژه را عمومي اعلام كرد، اسم آن به #C تغيير پيدا كرد.آخرين نسخه آن نسخه 3 است كه از ويژوال استديو 2008 استفاده مي كند. نسخه بعدي 4 است كه در دست ساخت است.

اهداف طراحي زبان
استاندارد ECMA اين اهداف طراحي زبان را براي #C بر آورده مي سازد: 
سي شارپ يك زبان برنامه سازي ساده،مدرن،براي اهداف عمومي و شي گرا است. 
به دليل اهميت داشتن موضوع نيرومندي و دوام و بهره وري برنامه نويس،زبان داراي چك كننده Strong Type ، چك كننده مرزهاي آرايه، تشخيص حالتهايي كه يك متغير مقدار دهي اوليه نشده‌است،قابليت انتقال كدها و Garbage Collection خودكار است. 
اين زبان براي استفاده در اجزاي توسعه نرم افزار براي دستيابي به مزاياي سيستم‌هاي توزيعي در نظر گرفته شده‌است. 
قابليت انتقال برنامه نويس بسيار مهم است،خصوصاً براي آن دسته از برنامه نويساني كه با زبان‌هاي C و C++ آشنا هستند. 
پشتيباني از اين زبان براي بين المللي شدن بسيار مهم است. 
زبان سي شارپ براي نوشتن برنامه‌ها براي سيستمهاي تعبيه شده و ميزبان در نظر گرفته شده‌است، از سيستم عامل هاي پيچيده بسيار بزرگ گرفه تا توابع اختصاصي بسيار كوچك. 
هر چند برنامه هاي نوشته شده با #C طوري هستند كه از لحاظ حافظه و پردازنده مورد نياز مقرون به صرفه باشند، ولي خود زبان از لحاظ اندازه و كارايي به خوبي زبان هاي C و اسمبلي نيست.

تاريخچه
در سال 1999، شركت سان اجازه استفاده از زبان برنامه نويسي جاوا را در اختيار ماكروسافت قرار داد تا در سيستم عامل خود از آن استفاده كند.جاوا در اصل به هيچ پلت فرم يا سيستم عاملي وابسته نبود، ولي ماكروسافت برخي از مفاد قرار داد را زير پا گذاشت و قابليت مستقل از سيستم عامل بودن جاوا را از آن برداشت.شركت سان پرونده اي عليه ماكروسافت درست كرد و ماكروسافت مجبور شد تا زبان شي گراي جديدي با كامپايل جديد كه به ++C شبيه بود را درست كند. در طول ساخت دات نت، كلاس هاي كتابخانه اي با زبان و كامپايلر SMC نوشته شدند.در سال 1999 آندرس هلزبرگ گروهي را براي طراحي زباني جديد تشكيل داد كه در آن زمان نامش Cool بود و همانند C بود با خواص شي گرايي. ماكروسافت در نظر داشت اسم اين زبان را تا آخر Cool قرار دهد، ولي به دليل مناسب نبودن براي اهداف تجاري اين كار را نكرد. در ارائه و معرفي رسمي .NET در PDC در سال 2000 اين زبان به Cسي شارپ تغيير نام يافت و كتابخانه كلاس ها و runtime در ASP.NET به#C منتقل شدند. مدير و سرپرست طراحان در ماكروسافت آندرس هلزبرگ بود كه تجربه قبلي او در طراحي Framework و زبان‌هاي برنامه سازي++Borland , Delphi, Turbo Pascal, Visual C به آساني در دستورالعمل‌هاي سي شارپ قابل رويت است و به همان خوبي در هسته CLR.

ويژگي‌ها
برخي از تفاوت‌هاي زبان سي شارپ با C و ++C عبارتند از:
هيچ تابع يا متغير سراسري(Global) وجود ندارد، تمام متدها و اعضا بايستي در داخل كلاس‌ها تعريف شوند.اين امر ممكن است، هر چند براي استفاده از متغير ها و توابع عمومي بايد از متدها و متغيرها در كلاس هاي عمومي استفاده كرد. 
متغير هاي عمومي، بر خلاف C و ++C ، نمي توانند بلاك هاي پيوستي را در بر بگيرند. 
سي شارپ داراي يك نوع داده بولي است (bool).برخي از عبارت‌ها مانند while و if كه شرطي هستند، نيازمند يك عبارت نوع بولي هستند.همان طور كه ++C نيز داراي نوع داده بولي است،اين نوع داده به راحتي ميتواند به يا از Integerها تبديل شود، و عبارتي مانند (if(a نيازمند اين امر است كه a از يك نوع قابل تبديل به bool يا اشاره گر باشد.كامپايلر سي شارپ برنامه نويس را در اين شرايط مجبور به استفاده از عباراتي مي‌كند كه به درستي يك مقدار bool را برميگردانند. بنابراين دستوري مانند (if(a = b باعث بروز خطا مي‌شوند.(به جاي = بايستي از == استفاده شود) 
 
در سي شارپ ، اشاره گرهاي به حافظه بايستي فقط در داخل بلوكهاي unsafe استفاده شوند و برنامه در اين حالت براي اجرا نياز به اجازه از كاربر دارد.بيشتر دسترسي شي از طريق شي امن است كه يا هميشه در حال اشاره به شي صحيح موجود است يا يك مقدار Null دارد. اشاره گري به شي به درد نخور يا بلاك حافظه رندم غير ممكن است.اشاره گر نا امن مي تواند به نمونه اي از value-type ، آرايه، رشته يا بلاكي كه حافظه به آن داده شده است اشاره نمايد.كدي كه به عنوان نا امن علامت نخورده باشد، هنوز مي تواند اشاره گر ها را از سيستم بازيابي يا در آن ذخيره كند ولي نمي تواند مرجع جديدي به آنها اختصاص دهد. 
حافظه ساماندهي شده نمي تواند صريحا آزاد شود، ولي به طور خودكار به عنوان به درد نخور تلقي مي شود.انتخاب آدرس هاي به درد نخور حافظه نفوذ ناپذير است. هم چنين #C با استفاده از عبارات، پشتيباني مستقيمي از پايان اجباري مي كند(پشتيباني از اصطلاح Resource Acquisition Is Initialization). 
وراثت چندگانه از كلاس‌ها در اين زبان پشتيباني نمي‌شود.البته يك كلاس امكان ارث بري از تعداد نامحدود واسط‌ها را دارد.پشتيباني نكردن از وراثت چندگانه به دليل اهداف معماري اين زبان در CLI و براي جلوگيري از پيچيدگي است. 
سي شارپ بسيار typesafe تر از C++ است. تنها تبديلات ضمني مثل تبديل نوع داده كوچكتر به بزرگتر يا تبديل نوع مشتق شده به نوع پايه به طور پيش فرض و بدون خطا صورت مي‌پذيرد.هيچ تبديل ضمني اي ميانBooleanها و Integerها وجود ندارد و هر تبديل user-defined بايستي به صراحت با يكي از كلمات explicit يا implicit نشانه گذاري شود. تبديل b به a در حالتي كه a يك Integer و b يك double باشد در زبان C++ مجاز است اما در سي شارپ به يك خطاي زمان كامپايل منجر مي‌شود(بايستي به صورت explicit تعريف شود) 
 
اعضاي Enumeration در داخل محدوده شخصي خود قرار دارند. 
#C قابليت syntactic sugar را براي توابع متداول، اكسسور ها و ماجول هاي كسول شده در يك كلاس به صورت ويژگي ها قرار داده است. 
اكسسورها كه خاصيت نيز گفته مي‌شوند در زبان سي شارپ قادر به كنترل دسترسي اعضا و معتبرسازي داده‌ها هستند.
تمام انواع بازتابي(Reflection) و بازيابي(Recovery) قابل استفاده‌است. 
در حال حاظر (3 جوان 2008) داراي 77 كلمه رزرو شده است. 

سيستم يكپارچه شده
سي شارپ داراي يك سيستم نوع يكپارچه‌است كه به آن CTS مي گويند.اين بدان معناست كه تمام انواع،شامل موارد اصلي مانند Integerها، مشتق شده از System.Object هستند.به عنوان مثال، هر نوع يك متد به نام ToString() را به ارث مي‌برد.بخاطر كارائي،انواع اوليه (و انواع مقداري) به طور داخلي فضايي براي آنها بر روي پشته در نظر گرفته مي‌شود.

انواع داده
CTS داده ها را به دو نوع تقسيم مي كند:
نوع مقداري 
نوع مرجعي 
انواع داده اي توده ساده اي از داده مي باشند.نمونه هاي انواع داده اي نه حويت مرجعي دارند و نه مفاهيم مقايسه مراجع را. براي مقايسه برابري يا عدم برابري انواع داده اي، خود مقدار داده ها را با يكديگر مقايسه مي كنيم مگر اينكه عملگر هاي مشابه دوباره تعريف شده باشند.مقادير داده هاي مرجعي هميشه يك مقدار پيش فرض دارند و هميشه مي توانند ايجاد و يا كپي شوند.يكي ديگر از محدوديت هاي انواع داده اي اين ات كه آنها نمي توانند از يكديگر مشتق شوند(ولي ميتوانند اشتراكاتي داشته باشند) و هم چنين نمي توانند در سازنده مقدار دهي اوليه شوند. مثالي از انواع داده اي، بعضي از انواع اوليه مانند int و float و char و System.DateTime مي باشند. در مقابل، انواع مرجعي مفهوم تعريف مرجعي را دارند( كه در آن هر نمونه از نوع مرجع، به طور ذاتي از ديگر نمونه ها جدا مي شود، حتي اگر داده هر دو نمونه يكي باشد). اين دقيقا نمونه مشابه مقايسه تساوي يا عدم تساوي داده هاي مرجعي است، كه در آن آزمايش براي مرجع ها از داده اي ها سريع تر است. در كل نه هميشه امكان تعريف نمونه مرجعي وجود دارد و نه امكان كپي يا نمايش مقادير مقايسه دو نمونه.ولي به هر حال انواع مرجعي خاص مي توانند اين اعمال را از طريق سازنده هاي عمومي يا اجراي واسط هاي مشابه(مثل ICloneable يا IComparable) انجام دهند.نمونه هايي از انواع مرجعي، اشيا، System.Stringو Sysmet.Array مي باشند. هر دو نوع داده قابليت انعطاف توسط تعريف به وسيله كاربر را دارند.
 
Boxing و EnBoxing
 
Boxing
عمل تبديل مقدار نوع داده اي به نوع مرجع مشابه آن مي باشد.
مثال:
int foo = 42;         // Value type...
object bar = foo;     // foo is boxed to bar.

UnBoxing 
عمل تبديل نوع مرجع به نوع داده اي مي باشد. مثال:
int foo = 42;         // Value type.
object bar = foo;     // foo is boxed to bar.
int foo2 = (int)bar;  // Unboxed back to value type.


سي شارپ به برنامه نويس با استفاده از كلمه كليدي Struct اجازه مي‌دهد تا انواع مقداري User-defined را ايجاد كند. از ديدگاه برنامه نويسي، آنها كلاس‌هاي سبك وزن به نظر مي‌رسند. برخلاف كلاس‌ها (كه بر روي heap قرار ميگيرند) و شبيه به انواع اوليه استاندارد مانند انواع مقداري Structها نيز بر روي پشته قرار مي‌گيرند.آنها همچنين مي‌توانند قسمتي از يك شئ باشند، يا در يك آرايه مرتب شوند، بدون حافظه غير مستقيمي كه به طور معمول براي انواع كلاس تخصيص مي‌يابد.
 
ويژگي‌هاي جديد در C# 2.0
ويژگي‌هاي جديد در C# .NET SDK 2.0 (مطابق با سومين ويرايش استاندارد ECMA-334):

كلاسهاي partial
كلاس‌هاي Partial اجازه اجراي كلاس‌ها از بيش از يك سورس فايل را مي‌دهند.اين امر اجازه مي‌دهد تا كلاس‌هاي بسيار بزرگ را قطعه قطعه كنيم و همچنين براي زماني كه برخي قسمت‌هاي يك كلاس به طور خودكار توليد مي‌شوند مفيد است.
file1.cs:
public partial class MyClass
{
    public MyClass()
    {
        // implementation
    }
}

file2.cs:
public partial class MyClass
{
    public void SomeMethod()
    {
        // implementation
    }
}
Genericها
genericها يا نوع هاي پارامتري شده يا چندريختي هاي پارامتري يك ويژگي جديد .NET 2.0 است كه به وسيله سي شارپ پشتيباني مي‌شود.برخلاف Templateهاي سي پلاس پلاس،در اين انواع به جاي اينكه نمونه سازي توسط كامپايلر انجام شود، در زمان اجرا صورت مي‌گيرد، بنابراين مي توانند چند زبلنه باشند در حالي كه ++C نمي تواند.آنها داراي ويژگي‌هايي هستند كه به طور مستقيم توسطTemplateهاي C++ پشتيباني نمي‌شوند مانند نوع محدوديت‌ها در پارامترهاي Generic با استفاده از رابط ها(Interface). سي شارپ از پارامترهاي‌هاي Generic بدون نوع پشتيباني نمي‌كند.بر خلاف genericهاي جاوا،genericهاي دات نت براي پارامتري كردن انواع داده اي در اشيا ماشين مجازي CLI، از مفاهيم شي گرايي استفاده مي كنند كه اجازه بهينه سازي و حفاظت انواع اطلاعات را مي دهد.
 
كلاس هاي static
كلاس‌ها به صورت Static قابل تعريف نيستند مگر اينكه تمام اعضاي آنها Static باشند.كه اين امر بسيار شبيه به مفهوم مدل در زبانهاي رويه‌اي است.(زبان رويه‌اي : يك زبان برنامه نويسي كه در آن عنصر اصلي برنامه نويسي يك زيربرنامه‌است.مانند زبانهاي C، پاسكال و...)

يك شكل جديد از تكرار كننده با استفاده از سازنده توابع
يك شكل جديد از iterator(تكرار كننده) ، با استفاده از ساختار yield return بسيار شبيه به yield زبان Python.
 
// Method that takes an iterable input (possibly an array) and returns all even numbers.
public static IEnumerable GetEven(IEnumerable numbers)
{
    foreach (int i in numbers)
    {
        if (i % 2 == 0) yield return i;
    }
}
 Delegateهاي ناشناس
Delegateهاي ناشناس كه عملكردهاي محدودي را در #C به وجود مي‌آورند.كد كنار بدنه Deletage ناشناس، دسترسي كامل براي خواندن يا نوشتن در متغيرهاي عمومي، پارامترهاي توابع و اعضاي كلاسهاي داراي محدوده Deletage را دارد ولي پارامترهاي out و ref را پشتيباني نمي كند.
براي مثال :
int SumOfArrayElements(int[] array)
{
    int sum = 0;
    Array.ForEach(
        array,
        delegate(int x)
        {
            sum += x;
        }
    );
    return sum;
}
 Delegate covariance and contravariance
تبديل گروه هاي متد به نوع Deletage در برگشت داراي covariant و در انواع پارامترها داراي contravariant هستند.
 
اكسسورهاي يك خاصيت(get و set) مي‌توانند داراي سطح دسترسي متفاوتي باشند.
 
مثال :
 string status = string.Empty;
 
public string Status
{
    get { return status; }             // anyone can get value of this property,
    protected set { status = value; }  // but only derived classes can change it
}

نكته مهم : سطح دسترسي خاصيت نمي‌تواند بالاتر از سطح دسترسي اكسسورها باشد.به عنوان مثال private بودن خاصيت و public بودن اكسسور باعث بروز خطا مي‌شود.
 

 

چرا محصولات راشين ...؟

۱۶ بازديد

به واقع وب متشكل است از تكنولوژي ، هنر و توسعه پذيري. محصولات راشين بر پايه ي جديدترين تكنولوژي هاي روز و بر اساس اصل بزرگ توسعه پذيري طراحي و پياده ه ســازي گرديده. امروزه وب به موجودي زنده همانند است كه مي بايست به فراخور احوال و بر پايه ي نيازهاي مشتريان در هر لحظه امكان توسعه را با كمترين هزينه و بيشترين كارايي را دارا باشد.