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
<Extension> 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)));