What you'll learn:
- Advanced C# Techniques
- Learn from Source code of Microsoft .Net Framework an open source project.
- Create List implementation from scratch and learn from the challenges
- Develop using Test Driven Development (TDD) Approach - XUnit
- Learn about DebugBrowsable techniques used in List implementation
- Explore and learn with on how some of the interesting features within C# List in .Net framework
- Learn and Implement collection Initializer within List
- Learn and Implement Enumeration logic within List
- Learn and Implement Sorting techniques using IComparer
- Bonus : Learning what is Net Standard
First of all Why we need to re-create a class that is already available within the .Net framework library?
What is the purpose of cloning it? To answer that let me explain "Why this course"?
When it comes to Software development, everyone will look forward to working in a very interesting, complex, challenging projects which will simulate the thoughts, analytical, and technical skills. Working on such challenging projects will help anyone to gain tremendous knowledge on new things. However, in reality, not everyone will get the opportunity to work on something very cool and interesting.
But if one is interested in learning something cool, or some examples of some good design or advanced concepts, the best place to learn is looking at the source code of existing well-proven applications.
In today's world, many of the applications, frameworks, tools, utilities are completely open-source. Where we can explore every single source code file and understand the design, algorithm, logic behind it.
What is in this Course
This course is an attempt and walkthrough of an answer for a curious technical exploration question.
We all know that the .NET framework itself is open-source, which means we can access every class in .NET framework to see how it is written. With the situation of readily available source code, this is a self-challenge to re-create some of the existing .NET framework features from scratch and validate if our thought or design aligns with what is originally written within the .NET framework. Here in this course, I'm re-creating the experience of creating a List class from scratch along with the details.
We will explore the challenges and learning in the journey of building this feature. Time to time we will peak into the source code of .net framework to understand how this feature is implemented there.
Bonus
There are few chapters on the Netstandard library with detailed walkthru of creating the NetStandard library.