Extending the Existing CLR Type

Extending the Existing CLR Type

Yes, you read that right. With .NET 3.0, you can extend any existing CLR type by adding one or more public methods to it?without recompiling the library. These new members are available only to the assembly that defines the methods, a feature known as “extension methods.”

First, declare a static class:

public static class MyStringExtensions{    public static bool IsValidName(this string s)    {        if (s.Length < 3 || s.Length > 20)                return false;        else                return true;        }} 

In C#, the this keyword in the first method parameter shows that the method is an extension method. VB.NET treats extension methods differently, using an attribute to mark the method as an extension method. Here’s how you can use the IsValidName method:

 string name= textbox1.Text;MessageBox.Show(Convert.ToString(IsValidName(name)));


Share the Post: