After my last post on the GetMonthName, I had a question on how to add this method to the DateTime class as an Extension method. I thought this would make a good follow-up, so here is how you can accomplish this.
First, let's do the C# extension method. Add a new class to your project. For this example, I called the class "MyExtensions". This class needs to be defined as a static class. Next add a public method called GetMonthName. This is a static method and accepts a DateTime object as a parameter. Remember that with Extension methods you need to use the keyword "this" in front of the parameter. Below is the C# example:
public static class MyExtensions
public static string GetMonthName(this DateTime dateValue)
DateTimeFormatInfo info = new DateTimeFormatInfo();
return info.MonthNames[dateValue.Month - 1];
To use this extension method you can write code like the following:
value = DateTime.Now;
Now, let's take a look at how to accomplish the same thing in Visual Basic. With Visual Basic there is no such thing as a Shared class, so instead you use a Module. So, we add a module to our project called "MyExtensions" to our project. You have to import the System.Runtime.CompilerServices namespace as we will be attaching an Attribute to our extension method. Below is what our new module now looks like.
Public Function GetMonthName(ByVal dateValue As Date) As String
Dim info As New DateTimeFormatInfo
Return info.MonthNames(dateValue.Month - 1)
Now, to use this new extension method simply write code like the following:
Dim value As Date
value = Now
Good Luck With Your Coding,
** SPECIAL OFFER FOR MY BLOG READERS **
Visit http://www.pdsa.com/Event/Blog for a free eBook on "Fundamentals of N-Tier".