:::: MENU ::::

Bunch of Useful extension methods


Most favorite things about C# 3.0 compilers  is the extension methods. Extension methods allow us to extend an Existing Type without deriving ,modifying  or recompiling it.If you ever worked with LINQ  then I am sure you are  already  used the extension methods because LINQ holds bunch of extension methods.here is how visual studio indicate the extension methods with an existing type.


an arrow with a method indicates an extension method


extension methods greatly simplify the methods call.Actually An extension method is static method  existing in a static class.Before diving into the detail let’s  create an extension methods which will reverse the order of words inside a given sentence.

here is how you will use it.
basically it is just a syntactic sugar,at compile time this methods call is turned into an ordinary static method call

Specification of an Extension Methods.

  1. Extension method must be a static method.
  2. It must be located inside a static class.
  3. Extension method’s first parameter specifies the type of the extended object, and it must preceded by the “this” keyword.
  4. Extension method should be in the same namespace if  namespace is different then we need to include the namespace
  5. An extension method couldn’t override the existing instance methods.

Now i would share some helpful extension methods


This is common practice when we want to convert a string into integer and if there is exception then assign a default value in order to deal with this situation i have written some extension methods which beautifully converts a given string into primitive types like int , long short and gracefully handle above exception see an example here.

in this above extension method we try to convert a string into int?  if there is an exception we will return simply nullable Int so let the caller to handle the NULL Exception and here is how you can use it.

in this above example we are using ?? operator called null-coalescing operator It returns the left-hand operand if the operand is not null; otherwise it returns the right hand operand.
See below even more examples

You can fork the complete library on  github

One Comment

So, what do you think ?