Skip to toolbar

Advanced C# – Learn from Open Source|Create Project List

Let us learn advanced C# concepts by building List from scratch using .net framework source code as reference
Venkatesh Muniyandi
4,433 students enrolled
English [Auto-generated]
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.

There are few chapters on the Netstandard library with detailed walkthru of creating the NetStandard library.


What is there in this course
Building minimum Viable Product - List
Development Tools & Framework used - Technical Pre-Requisite
Referencing .Net framework Source code - Useful tools Visual Studio Extension

Building List from Scratch - Learn how it is Implemented in .Net Framework

Requirement 1: Create List Skeleton class
Requirement 2: Implement Add Method to add Items to List
Requirement 3: Expose Count Property - To Verify the count of elements Added
Requirement 4: Implement Remove method to remove Items from List
Requirement 5: Verify Add, Remove, Count functionality is working fine
Requirement 6: Implement feature to support foreach Iteration for the List class
Requirement 7: Implement Collection Initializer
Requirement 8: Implement Indexer - Read/Update elements using Index
Requirement 10 : Implement basic Sort functionality
Requirement 11: Implement Advanced Sort (Sorting by Expression)
Requirement 12: List should emit information during Debugging

Bonus: Net Standard

What is NetStandard - Why we need to care about it
Creating Multi target Netstandard Library
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!

Be the first to add a review.

Please, login to leave a review
30-Day Money-Back Guarantee


3 hours on-demand video
Full lifetime access
Access on mobile and TV
Certificate of Completion
WP Twitter Auto Publish Powered By :