Extension methods on Enums?

by Jun 7, 2024

Extension methods on Enums?

Do you sometimes feel restricted by the Enum type in C#? You want to give it a little bit extra behavior by adding a method?

Currently you can’t add extension methods to Enums.

Some other programming languages do offer this capability which gives Enum more power and usefulness.

In C# 13 a new type will be added: Extension types.

They look very promising. It’s basically a complete redesign of Extension methods. You can apply the to any type in C#! Beside methods, properties and other members are also possible. And they can be instance or static!

They bring in more the functional way of writing code into C#. Just like in Go, you can create a type that just represents data and then use the new Extension type to decorate it with functions.

You can also create new ‘alias’ types based on an existing type with additional behavior, just like in F#. A better way then using inheritance in OOP.

A new interesting way to program is being added to C#. What do you think?

#
Remy van Duijkeren

Remy van Duijkeren

Power Platform Advisor

Microsoft Power Platform Advisor with over 25 years of experience in IT with a focus on (marketing) automation and integration.

Helping organizations with scaling their business by automating processes on the Power Platform (Dynamics 365).

Expert in Power Platform, Dynamics 365 (Marketing & Sales) and Azure Integration Services. Giving advice and strategy consultancy.

Services:
– Strategy and tactics advise
– Automating and integrating

Subscribe to
The Daily Friction

A daily newsletter on automation and eliminating friction

Related Content

Progressive Enhancement for JS is overrated.

Progressive Enhancement for JS is overrated. In today’s web, HTML + CSS + JS is a package deal. Almost every browser supports the trio, and let’s be real: users expect apps to work smoothly with JavaScript. 95%+ of users have JS enabled – why build for the exception?...

read more

Alpine.js just clicked. 🎯

Alpine.js just clicked. 🎯 Its declarative syntax—attributes on HTML tags—is perfect for simple UI logic. Most of the time, I don’t even need to touch JavaScript. And when I do? I can write just a little bit, and it fits right in. What’s even better? The declarative...

read more

HTMX + ASPNET Core Razor = magic. ✨

HTMX + ASPNET Core Razor = magic. ✨ But HyperScript? Not so much. 😅 As a developer, I gave HyperScript a try for client-side interactions. I really wanted to love it—especially since it’s from the same creator as HTMX. But every time I used it, I spent way too much...

read more