Skip to content

C# Generics in Constructors

C# Generics in Constructors

C# Generics in Constructors: A Step-by-Step Guide

C# Generics is a powerful feature that allows developers to create classes and methods that can work with any data type. This feature makes our code more flexible and reusable, which is essential in modern software development. In this article, we will create a simple project demonstrating how to use C# Generics in Constructors. We’ll be building a simple class that can store and retrieve items of any data type, and we’ll be using Visual Studio as our development environment.


Become a job-ready C# developer!

Create a new C# console application project

First, we will create a new console application in Visual Studio. We will name it “GenericsDemo”. This step is necessary to create the foundation for our project and have a place to add our code.

  • Open Visual Studio and click on “Create a new project.”
c# generics in constructor
  • Select “Console App (.NET 6)” from the list of templates.
c# generics in constructor
  • Give your project a name, for example, “GenericsDemo” and click on “Create.”
c# generics in constructor


Create a custom class

In this step, we will create a custom class called “Person” which we’ll use later in the project. The Person class will have two properties, Name and Age.


Step 3: Create a generic class Next, we’ll create a new class in our project called “GenericStore.” This class will be our generic class that can store and retrieve items of any data type. To create a generic class, we need to use the “where” keyword followed by the type parameter T.

In this class, we have a private variable _item of type T, and a constructor that takes in a parameter of type T. We also have a public method called GetItem that returns the _item variable.


Use the generic class in the Main method

Now, we’ll use our generic class in the Main method of our program. In the Main method, we’ll create an instance of GenericStore, passing in an integer, string and a custom class as the generic parameter.


In the above code, we are creating an instance of GenericStore for int, string and a custom class Person and passing respective data type value as a parameter to the constructor. And then we are calling the GetItem method for each instance and printing the result. The first instance is of int data type, so we are passing an integer value 10 to the constructor. The second instance is of string data type, so we are passing a string “Hello World” to the constructor. And the last instance is of Person data type, so we are passing an instance of Person class to the constructor.


Run the project

Finally, we’ll run the project to see our generic class in action. Go to the “Debug” menu and select “Start Without Debugging” or simply press “Ctrl + F5” on your keyboard. You should see the output “10”, “Hello World” and “John” printed in the console window. Like so:


Conclusion: C# Generics in Constructors

In this article, we’ve covered the basics of using C# Generics in Constructors. We’ve seen how powerful this feature can be by creating a simple project demonstrating how to use generics to create a class that can store and retrieve items of any data type. We’ve also seen how to use the generic class with custom classes, such as the Person class, demonstrating generics’ flexibility and reusability. C# Generics is a feature that is definitely worth exploring further.

It can make your code more efficient and reduce the amount of redundant code you need to write. Whether you’re a beginner or an intermediate developer, understanding how to use generics in your projects is an essential skill in modern software development.

If you’re new to C# and collections, it’s always a good idea to start with basic examples and then build on them as you gain more experience. And don’t forget that when in doubt, you can always refer to this article to help you understand C# Generics in Constructors. Also, if you are interested in API-related topics, check out this article about calling GET API in C#!

If you want to skyrocket your C# career, check out our powerful ASP.NET FULL-STACK WEB DEVELOPMENT COURSE, which also covers test-driven development and C# software architecture.

Leave a Reply

Your email address will not be published. Required fields are marked *