کتاب از C# تا CIL: کالبدشکافی ژنریکهای .NET با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره از C# تا CIL: کالبدشکافی ژنریکهای .NET
موضوع کلی: زیرساخت، رانتایم و برنامهنویسی پیشرفتهٔ .NET
موضوع میانی: ژنریکها، سیستم نوع و کامپایل در CLR
📋 سرفصلهای دوره
- 1. مسیر اجرای برنامهٔ C# در CLR و مفهوم CIL
- 2. آسمبلی، متد، کد بایت و قراردادهای نامگذاری در ECMA-335
- 3. خواندن متادیتا، امضاها و توکنهای متادیتا
- 4. نوعهای مقدماتی، ارجاعی و جابهجایی دادهها در CLR
- 5. boxing و unboxing در سیستم نوع .NET
- 6. مفاهیم پایهٔ برنامهنویسی ژنریک
- 7. تعریف و استفاده از کلاسهای ژنریک
- 8. تعریف و پیادهسازی اینترفیسهای ژنریک
- 9. تعریف و کاربرد دلیگیتهای ژنریک
- 10. تعریف و فراخوانی متدهای ژنریک
- 11. استنتاج نوع برای متدهای ژنریک
- 12. ارجاع صریح به آرگومانهای نوعی
- 13. واریانس و کنترایوانریانس در اینترفیسها و دلیگیتهای ژنریک
- 14. محدودیت نوعی با کلیدواژهٔ constraints
- 15. معنای اجرایی محدودیتهای class، struct، new() و ref
- 16. محدودیت unmanaged و الزامات آن در نسخههای مختلف .NET
- 17. پارامتر نوعی بدون محدودیت و رابطهٔ آن با object
- 18. انتخاب مقدار پیشفرض با default(T)
- 19. زیرکلاسسازی و پیادهسازی base class ژنریک
- 20. سازگاری typeهای ژنریک و غیرژنریک در پیادهسازی اینترفیس
- 21. میراث، substitution و override در ساختارهای ژنریک
- 22. آرایههای ژنریک، covariance و محدودیتهای runtime
- 23. collectionهای استاندارد و الگوی List<T>
- 24. IEnumerable<T> و deferred execution
- 25. IQueryable<T> و expression trees
- 26. ترکیب LINQ با APIهای ژنریک
- 27. مدیریت exception در typeها و متدهای ژنریک
- 28. دلیگیتهای ژنریک در callbackها و pipelineها
- 29. مدل async/await و انواع Task<T> و ValueTask<T>
- 30. بازتاب ساختار ژنریک با reflection
- 31. فراخوانی و ایجاد instantiations ژنریک با reflection
- 32. attributes روی type، method، parameter و generic constraints
- 33. دینامیک در .NET و فراخوانی generic members
- 34. تعریف generic type در CIL
- 35. نمای CIL از generic method definition
- 36. TypeSpec و نمایش generic type instantiation
- 37. MethodSpec و نمایش generic method instantiation
- 38. خواندن امضاها و stack layout در متدهای ژنریک
- 39. فرامین call، callvirt، newobj و castclass در کد ژنریک
- 40. constrained call برای فراخوانی interface در CIL
- 41. boxing و unboxing در سطح CIL
- 42. exception handling و cleanup در کدهای ژنریک
- 43. تولید .cctor و محدودیتهای generic در runtime
- 44. JIT compilation و instantiation کد ژنریک
- 45. code sharing میان typeها و متدهای ژنریک
- 46. generic type table و مدیریت instantiations در runtime
- 47. tiered compilation و recompilation در نسلهای مختلف JIT
- 48. NGen، ReadyToRun و NativeAOT برای کد ژنریک
- 49. آدرسدهی static members در instantiations ژنریک
- 50. thread safety، lock و استثنائات ThreadStatic در کدهای ژنریک
- 51. nullable reference types و رفتار runtime آنها
- 52. debugging generic instantiations و breakpointها
- 53. profiling overhead و allocation در کدهای ژنریک
- 54. benchmarking با GenericBenchmarks یا ابزارهای معادل
- 55. بهینهسازی انتخاب type، constraints و الگوهای فراخوانی
- 56. اشتباهات رایج در inheritance، variance و constraints
- 57. طراحی abstractionهای ژنریک قابل استفادهسازی مجدد
- 58. پیادهسازی collectionهای سفارشی با generic interfaces
- 59. تست رفتار generic typeها در سناریوهای runtime
- 60. ترکیبسازی یک سیستم collection ژنریک و تحلیل CIL آن
تگها:
.NET
.NET Generics
.NET Performance
.NET Runtime
C#
CIL
CLR
ECMA-335
Generic Constraints
Generic Programming
IL Assembler
Intermediate Language
JIT Compilation
LINQ
Reflection
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.