← Back to Article List
C# 14 - Extension Method features
In C# 14, extension methods are enhanced with a new feature called Extension Members.
You can now extend a type with methods, properties, operators, and static members using the new extension block syntax.
Below is a clear example using public static class PersonExtensions.
Person Class (Original Class)
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
public Person(string firstName, string lastName, int age)
{
FirstName = firstName;
LastName = lastName;
Age = age;
}
}
Extension Members Class
public static class PersonExtensions
{
// Extension members for Person instance
extension(Person p)
{
// Extension Property
public string FullName => $"{p.FirstName} {p.LastName}";
// Extension Method
public bool IsAdult()
{
return p.Age >= 18;
}
// Extension Method
public string GetDetails()
{
return $"{p.FirstName} {p.LastName} is {p.Age} years old";
}
}
// Extension Static Member
extension(Person)
{
public static string Species => "Homo Sapiens";
}
}
Program Usage
using System;
class Program
{
static void Main()
{
Person p1 = new Person("John", "Doe", 25);
// Extension Property
Console.WriteLine(p1.FullName);
// Extension Method
Console.WriteLine(p1.IsAdult());
// Extension Method
Console.WriteLine(p1.GetDetails());
// Extension Static Member
Console.WriteLine(Person.Species);
}
}
Output
John Doe
True
John Doe is 25 years old
Homo Sapiens
Conclusion
C# 14 introduces Extension Members, which allow developers to add methods, properties, operators, and static members to existing types using the extension(Type) syntax.