Multiple Generic Constraints .Net

Sukhpinder Singh
Aug 5, 2020 · 2 min read

In this article, we will learn how to apply constraints with generics.

Generic Constraints In Action

Console GIF of generics constraints

Getting Started

In above link, we have learned about generics. Consider below example of simple generic type in which compiler does not know about placeholder type whether its a class or a interface etc.

Simple Generic

To overcome that, we apply constraints to generics using “where” keyword. Constraints will result in compile time error if you instantiate with placeholder that is not defined in constraints.

For example, here we created a generic with two placeholders named “T1” and “T2” with constraints that T1 can only accept classes of “ModelExample3” and T2 with “ModelExample2”.

Single Class name Generic Constraint

How to create generics with constraints of multiple classes?

Below example shows a generic with two placeholders named “T1” and “T2” with constraints that T1 can only accepts classes of type “ModelExample3” and T2 can accept classes that implements “IModelExample” interface.

Multiple Class Name Generic Constraints

Github Repo

More C# Concepts

Follow me on LinkedIn Instagram Facebook Twitter

The Startup

Get smarter at building your thing. Join The Startup’s +794K followers.

Sign up for Top 10 Stories

By The Startup

Get smarter at building your thing. Subscribe to receive The Startup's top 10 most read stories — delivered straight into your inbox, once a week. Take a look.

By signing up, you will create a Medium account if you don’t already have one. Review our Privacy Policy for more information about our privacy practices.

Check your inbox
Medium sent you an email at to complete your subscription.

Sukhpinder Singh

Written by

Programmer by heart | C# | Python | .Net Core | Xamarin | Angular | AWS | Remember to 👏👏👏👏 Buy me a coffee https://www.buymeacoffee.com/sukhpindersingh

The Startup

Get smarter at building your thing. Follow to join The Startup’s +8 million monthly readers & +794K followers.

Sukhpinder Singh

Written by

Programmer by heart | C# | Python | .Net Core | Xamarin | Angular | AWS | Remember to 👏👏👏👏 Buy me a coffee https://www.buymeacoffee.com/sukhpindersingh

The Startup

Get smarter at building your thing. Follow to join The Startup’s +8 million monthly readers & +794K followers.

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store