For example say you have an existing StringUtils class and method named OccurencesOf:
/// <summary> /// StringUtils provides a collection of static functions for string manipulations. /// </summary> public static class StringUtils { /// <summary> /// Returns the number of occurences of the match string in the source string /// </summary> public static int OccurencesOf( string sourceString, string matchString) { return Regex.Matches(sourceString, EscapeRegEx(matchString)).Count; } } For example: StringUtils.OccurencesOf( "the quick brown fox jumped over the lazy dog" , "the" ); |
With extension methods this can be rewritten like:
public static class StringExtensions { /// <summary> /// Returns the number of occurences of the match string in the source string. /// </summary> public static int OccurencesOf( this String sourceString, string matchString) { return Regex.Matches(sourceString, EscapeRegEx(matchString)).Count; } } And called like: "the quick brown fox jumped over the lazy dog" .OccurencesOf( "the" ); |
Definitely a neat feature but in my next post I will explain why you shouldn't use extension methods.
No comments:
Post a Comment