PDA

View Full Version : آموزش: دانلود فیلم آموزش جنریک ها در سی شارپ



learningtv.i
یک شنبه 14 مهر 1392, 15:20 عصر
1-جلسه اول:
مفهوم جنریک و مزایای آن - متد های جنریک =====> دانلود از اینجا (http://learningtv.ir/?p=3388)


2-جلسه دوم:
یاد گیری تعریف یک کلاس جنریک و استفاده از آن ====> دانلود از اینجا (http://learningtv.ir/?p=3398)


3-جلسه سوم:
ارث بری یک کلاس جنریک از کلاس معمولی و ارث بری یک کلاس جنریک از
کلاس جنریک معین/نامعین ====> دانلود از اینجا (http://learningtv.ir/?p=3536)


4-جلسه چهارم:
یادگیری ایجاد یک اینترفیس که همزمان جنریک باشد و یادگیری ارث بری یک اینترفیس معمولی از جنریک اینترفیس، ارث بری جنریک اینترفیس از جنریک اینترفیس معین/نامعین و ارث بری کلاس های جنریک از اینترفیس های جنریک ===========> دانلود از اینجا (http://learningtv.ir/?p=3547)

بقیه جلسه ها ان شاء الله در آینده نزدیک.....

learningtv.i
یک شنبه 03 آذر 1392, 22:56 عصر
جلسه پنجم هم از راه رسید.در این جلسه یه نوع ترکیب از مفهوم delegate ها و مفهوم generic ها رو خواهیم داشت یعنی قرار هست یاد بگیریم که چطور یک generic delegate ایجاد کنیم.

خب بعد از یادگیری این generic delegate ها در بین فیلم فرا خواهیم گرفت که مایکروسافت چند generic delegate از پیش تعریف شده یعنی Func,Action,Predicate داره که کار ما را آسانتر می کنه و از تعریف بی رویه delegate های مختلف توسط برنامه نویس جلوگیری می کنه

از طرفی فایده مهم دومش هم در این هست که کاربرد داره در LINQ به خصوص از بین اون سه تا Func.


«این ویدئو تقریبا 34 دقیقه و با حجم 29 مگابایت می باشد.که از لینک زیر می توانید دانلود بفرمایید.»


113201
لینک مطلب در سایت (http://learningtv.ir/?p=4683)

mehdiomnia
یک شنبه 03 آذر 1392, 23:50 عصر
لینک اولی که مشکل داشت

learningtv.i
دوشنبه 04 آذر 1392, 03:41 صبح
لینک ها رو دوباره تست کردم مشکلی نداشت.

learningtv.i
چهارشنبه 06 آذر 1392, 10:13 صبح
* دانلود فیلم آموزش generic ها در سی شارپ-جلسه ششم(Constraints)*
==================================
خب به طور مفصل در سری آموزش generic ها در سی شارپ با ما همراه بودید و مطالب جدیدی آموخته اید.خب یاد گرفتیم مثلا چطور یک متد جنریک تعریف کنیم.حالا یک سوال؟؟؟؟ آیا می شود برای این پارامتر جنریک ای که استفاده می کنیم در یک generic Method یا generic Interface یا generic class و… محدودیت قرار بدهیم.مثلا بگوییم که پارامتر جنریک T حتما نوع مقداری باشد یا مثلا حتما فقط مجاز به نوع ارجاعی باشد.یا حتما یک اینترفیس را پیاده سازی کرده باشد و یا حتما وابسته به نوع یک پارامتر دیگر باشد و…. واضح هست که جواب بله می باشد یعنی می توانیم همچنین محدودیت هایی را برای پارامتر جنریک ذکر کنیم.


در این فیلم آموزشی به طور مفصل با این محدودیت ها را فرا می گیریم.که اگر نام ببریم ۶ محدودیت هستند :
۱- محدودیت نوع مقداری ۲- محدودیت نوع ارجاعی ۳- محدودیت کلاس ۴- محدودیت New 5- محدودیت اینترفیس ۶- محدودیت وابستگی نوع یک پارامتر جنریک به نوع پارامتر دیگر.از این بیشتر توضیح نمی دهم.توصیه می کنم که ویدئو را مشاهده فرمایید.


در جلسه بعد یک فیلم آموزشی مفصل در مورد نکات ریز مثلا ترتیب این محدودیت ها و…. ارائه خواهیم کرد.
.
حجم فایل:۴۲ مگابایت و به زبان شیرین فارسی

مدت آموزش تصویری:۴۴ دقیقه وبدون پسورد

113263
لینک مطلب (http://learningtv.ir/?p=4900)

learningtv.i
جمعه 08 آذر 1392, 15:53 عصر
آموزش جنریک ها در سی شارپ -جلسه هفتم(ادامه قیدها)
===================================
اما در این جلسه برای تکمیل مبحث جنریک ها در سی شارپ خب نکات باقی مانده از محدودیتها/قید ها یا همان Constraint ها می پردازیم.خب ما در جلسه قبل شش constraint را آموختیم.حالا بریم سر نکات ریزی که در ویدئو پرداختیم.
۱- همواره قید struct یا class باید در اول لیست قید ها در جنریک قرار بگیرند.

۲- هیچگاه نمی توان قید struct و کلاس را با هم به کاربرد(بر اساس بند ۱) و از نظر مفهوم هم همین است.چون قید class می گوید پارامتر ارجاعی باشد اما قید struct می گوید پارامتر از نوع مقداری.واضح هست در آن واحد هر دو امکان پذیر نیست.

۳- قید new باید همواره در انتهای لیست قید ها قرار بگیرد در غیر اینصورت یک خطای کامپایلری خواهیم داشت
۴- قید struct و new را با هم نمی توانیم به کار ببریم.واضح هست زیرا قید struct دلالت بر مقداری بودن دارد و قید new می گوید پارامتر T باید سازنده پیشفرض داشته باشد به عبارتی به طور ضمنی می گوید T باید یک کلاس باشد چون کلاس هست که سازنده پیشفرض دارد خب به طور ضمنی تر می گوید که پس T باید ارجاعی باشد.کهه بر اساس همان بند ۲ خطای کامپایلری داریم.

۵- قید class به عنوان دلالت بر ارجاعی بودن پارامتر جنریک و قید نام یک کلاس مثل کلاس Human که دلالت بر این است که پارامتر T حتما باید از نوع کلاس Human و یا فرزندان مشتق شده باشد را همزمان نمی توان به کار برد.زیرا هر وقت که از قید نام یک کلاس استفاده می کنیم به طور ضمنی ارجاعی بودن آن پارامتر جنریک را هم پذیرفتیم.چون گفتیم که کلاس ها از انواع ارجاعی هستند.پس دیگر لازم به قید class نیست.زیرا این معنی در دل خود قید نام یک کلاس هست.

۶- هنگامی که از قید ششم استفاده می کنیم منظور همان وابسته کردن یک پارامتر جنریک به پارامتر جنریک دیگر از نظر نوع هست.باید برای پارامتر جنریک مستقل هیچگونه محدودیتی تعریف نکنیم.به عبارتی فرض کنید مثلا ۵ پارامتر جنریک داریم که برای پارامتر سوم محدودیت یا قید class و new را در نظر گرفتیم.حال اگر بخواهیم پارامتر مثلا پنجم را به پارامتر سوم وابسته کنیم به عبارتی از آن قید آخری که گفتیم (در جلسه قبل شش محدودیت/قید تعریف کردیم آخرین آن وابسته کردن یک پارامتر به پارامتر دیگر بود) استفاده کنیم آنگاه یک خطای کامپایلری رخ خواهد داد.به عبارت دقیقتر هر گاه به خواهیم پارامتر مثلا پنجمی را به پارامتر سومی از نظر نوع وابسته کنیم حتما باید خود پارامتر سوم محدودیت /قید نداشته باشد.

۷- اگر ما یک کلاس جنریک نامعین داشته باشیم(جنریک معین و نامعین را در جلسات اولیه مربوط به جنریک ها توضیح داده ایم) و سپس یک کلاس جنریک نامعین فرزند را از آن ارث بری کنیم.و ضمن اینکه کلاس پدر فرض کنید سهه پارامتر جنریک دارد که هر کدام آنها دارای یک یا چند محدودیت/قید هستند.انگاه حتما باید کلاس فرزند دقیقا همان قید ها را ارث بری کند و در خود داشته باشد در غیر اینصورت خطای کامپایلری رخ می دهد.البته کلاس فرزند خود می تواند قید های بیشتری علاوه بر کلاس پدر داشته باشد این ایرادی نیست…………………

113337
لینک (http://learningtv.ir/%d8%ac%d9%86%d8%b1%db%8c%da%a9-%d9%87%d8%a7-%d8%af%d8%b1-%d8%b3%db%8c-%d8%b4%d8%a7%d8%b1%d9%be-%d8%ac%d9%84%d8%b3%d9%87-%d9%87%d9%81%d8%aa%d9%85/)