.NET Tutorials, Forums, Interview Questions And Answers
Welcome :Guest
Sign In
Win Surprise Gifts!!!

Top 5 Contributors of the Month
david stephan
Gaurav Pal
Post New Web Links

Extension Methods

Posted By: Govind     Posted Date: May 12, 2012    Points: 2   Category :C#
Extension methods enable you to “add” methods to existing types without creating a new derived type, recompiling, or otherwise modifying the original type. Extension methods are a special kind of static method, but they are called as if they were instance methods on the extended type. For client code written in C# and Visual Basic, there is no apparent difference between calling an extension method and the methods that are actually defined in a type. (Source MSDN)

View Complete Post

More Related Resource Links

The Decorator Pattern & Extension Methods

The decorator pattern provides a formal way to add new functionality to an existing type, without sub-classing. First question: What is wrong with classical inheritance? In and of itself, nothing is wrong with the good old Is-A relationship. It is very common to derive a new class from an existing base class in order to override a few virtual members, and add a pinch of new functionality.

The Decorator Pattern & Extension Methods

Numerous design patterns exist in the software world today, and ultimately nothing is preventing you from making your own (if people buy into it or not is another question). Furthermore, there is no 'master list' of patterns that all developers agree upon. While this is true, if you pick up any book on the subject, you will find a set of very common patterns most programmers agree are very useful. Many of these patterns were first formalized in the seminal book on the subject, Design Patterns: Elements of Reusable Object-Oriented Software (aka, the Gang of Four [GOF] book; not to be confused with the UK punk band of the same name).

Basic Instincts: Extension Methods


This column discusses one of the new features of Visual Basic 2008-Extension Methods. This powerful new feature was introduced to support LINQ. See what extension methods are, how to apply them yourself, and get some great usage tips.

Adrian Spotty Bowles

MSDN Magazine November 2007

Extension methods and viewstate


Hi all,

I am creating 2 extension methods for a textbox, which need to store a value and get the value, same like property, unfortunately dotnet 3.5 doesnt support extension property, so created two extension method for set and get, I am so confusing where should I store the value, like session, cache or anything else, but my recommendation to store in the viewstate object. how can I store value to viewstate. 

example my code look like

public static class clsExt
    public static bool getValue(this TextBox tb)

        return (bool)Viewstate[tb.ID];

    public static void setValue(this TextBox tb, bool value)

        Viewstate[tb.ID] = value;


Its not good idea to store session or cache, bcoz its should store only in the pagelevel, how can do this? How other textbox property storing? Could any one help on this issue please?

Thanks in advance.

Creating HTML Helpers with Extension Methods


namespace MvcLogin_Validation.Helpers
    public static class LabelExtensions
        public static string Label(this HtmlHelper helper, string target, string text)
            return String.Format("<label for='{0}'>{1}</label>", target, text);



Above is my html helper class.

<%= Html.Label("first name", "First name") %>

This is how I use it.

Now while using it I am getting an error which says, "  No overload for method 'Label' takes '2' arguments ", where as this link ( http://www.asp.net/mvc/tutorials/creating-custom-html-helpers-cs) says to do it exactly as i did.

Can anyone please guide where I am going wrong.



what is Extension Methods and when, where we will we use it


what is Extension Methods and when, where we will we use it

interesting problem about @ and extension methods.


Note , that i'm new to c# so it might not be a problem.

first , what is the exact meaning of @ in Razor ?

does it mean WebPage.Response.Write ?

next, i designed an extension method to WebPage ( by the way that is the coolest feature ever in c# )

in my Razor code , to use it in a webpage , i must write @this.MyExtensionMethod() instead of @MyExtensionMethod().

So why is it?  because @this.MyExtensionMethod() and @MyExtensionMethod() should be the same ?

here is my extension method :

using System;
using System.Web;
using System.Web.WebPages;

namespace MyExtenstionMethods{

	public static class Utility{

	    // make the page to render optional
		public static dynamic RenderOptionalPage(this WebPage Webpage ,string page="",params object[] data){

				return Webpage.RenderPage(page,data);
            }catch(HttpException ex){
                return new HtmlString("<!-- page not found -->");


Using jQuery to directly call ASP.NET AJAX page methods

Here I am looking to explain how to call page methods using jQuery. Using jQuery to directly call ASP.NET AJAX page methods

Code spelling checker extension for visual studio 2010

Building a spelling checker for source code as an extension for visual studio 2010.

Xml File Methods and Properties

Method and Properties of XmlTextWriter class:
The XmlWriter class is a base class that outputs an XML data structure. It has methods to sequentially write XML elements in a proper hierarchy to create an XML file or other types of output streams. The System.Xml namespace provides support for the XmlWriter. It must be imported to the ASP.NET page with the directive

<%@ Import Namespace="System.Xml" %>

The XmlTextWriter

XmlWriter is an abstract class that is implemented as an extended XMLTextWriter class. The XmlTextWriter writes a sequence of XML nodes one element at a time. Output can be written to an XML file, although other streams of output data can be produced. It can create a new file or overwrite an existing file. Its non-cached writing techniques provides very fast generation of an output stream.

Page Methods and Yahoo UI


Hello people,
I'm constructing an application with Page Methods and YAHOO UI.
I'm Not using Update Panels because Page Methods are faster than Update Panel.

You can post your experiences with this feature of ASP.NET Extensions and vantages of using this type of architecture.

Thanks a lot.

Flávio Malaquias
Asp.Net Senior Developer

Multiple web methods in one transaction


Hi everyone

Sorry I am kinda new in web services, so it may sound a bit newbish question.

We have a web service that comunicates with the database and exposes web methods that enables the application to access the database. Each method does only one operation (Insert, Update or Delete). What I need to do is create a transaction that will be consisted of multiple calls to the database, meaning multiple calls of more then one web methods. Can I do that? (I read that if the web method does not throw exception - or ContextUtil.SetAbort() is not called - the transaction will be commited automatically when the web method finishes executing, which I don't want to happen because I want to call another web method in the same transaction, and then manually commit the transaction)

Thank you in advance.

Team System: Building a Visual Studio Team Explorer Extension


There's no magic behind how the TFS Power Tools were integrated with Team Explorer, and we'll show you how to expose your own custom features inside the Team Explorer window.

Brian A. Randell, Marcel de Vries

MSDN Magazine December 2009

C#: Create Elegant Code With Anonymous Methods, Iterators, And Partial Classes


In this article Juval Lowy describes how exciting new features in Visual Studio 2005, that will improve your overall productivity compared to the first version of C#, so you can write cleaner code faster.

Juval Lowy

MSDN Magazine Visual Studio 2005 Guided Tour 2006

C# 2.0: Create Elegant Code with Anonymous Methods, Iterators, and Partial Classes


C# 2.0 introduces a wealth of exiting new features, such as generics, iterators, partial classes and anonymous methods. While generics are the most talked-about feature especially for former classic C++ developers, the rest of the new features are important additions to your .NET development arsenal, enhancing power and improving overall productivity. This article is dedicated to all the new C# 2.0 capabilities besides generics to give you a good overall picture of the upcoming features.

Juval Lowy

MSDN Magazine May 2004

ASP.NetWindows Application  .NET Framework  C#  VB.Net  ADO.Net  
Sql Server  SharePoint  Silverlight  Others  All   

Hall of Fame    Twitter   Terms of Service    Privacy Policy    Contact Us    Archives   Tell A Friend