Introducing static methods and extension methods
Now that we’ve explored some of the more functional aspects of method refactoring, let’s take a look at some of the features that helped revolutionize .NET: static methods and extension methods.
Making methods static
Sometimes, your classes will have methods that don’t work directly with instance members (fields, properties, or non-static methods) of that class. For example, FlightTracker has a Format method that converts a DateTime to a string resembling “Wed Jul 12 23:14 PM”:
private string Format(DateTime time) {
return time.ToString("ddd MMM dd HH:mm tt");
}
Here, Format doesn’t rely on anything other than the parameters it is provided to calculate a result. Because of this, we can make Format a static method.
Static methods are methods associated with the class itself and not with an instance of the class. As a result, you don’t need...