Eine der Neuerungen in .NET 3.5 sind die Extension Methods.

Mit Hilfer der Extension Methods lassen sich alle nicht static Classes um eigene Methoden erweitern.

Ob die Basisklassen im Projekt oder als Referenz eingebunden sind ist egal.

Hier ein Beispiel:
FileInfo soll um eine Methode erweitert werden, die in der Console FileInfo.Exists ausgibt und eine Benutzerreaktion abwartet.

Hierfür fügen wir dem Projekt eine statische Methode mit entsprechedem Syntax hinzu:

    public static class myExtensionMethods
    {
        public static string ExistsMessage(this FileInfo f )
        {
            Console.WriteLine("FileInfo.Exists={0}", f.Exists);
            Console.ReadLine();

            return f.Exists.ToString();
        }
    }

Dannach ist jedes Object vom Typ Fileinfo um diese statische Methode erweitert(und zwar inklusive Intellisense)

 Siehe auch: New "Orcas" Language Feature: Extension Methods