2010-11-28 6 views
2

Wie kann ich eine Klasse (in einer DLL) erstellen, die mit einem bestimmten Objekt verwendet wird? Wie zum Beispiel eine Klasse, die Bitmaps aufrufen, bestimmte Dinge zu tun. z.B.C#: Klasse zur Verwendung mit Objekt

Bitmap bmp = neue Bitmap;
bmp.ThingToDo():

Antwort

7

Werfen Sie einen Blick auf Extension Methods.

public static class CustomExtension 
{ 
    public static void ThingToDo(this Bitmap bitmap) 
    { 
     // add your functionality here and use bitmap 
    } 
} 

Viel Glück:

Sie können Ihre Methode zur Klasse Bitmap wie folgt hinzuzufügen!

+0

Ich habe erst vor kurzem begonnen, Extension-Methoden zu verwenden, und jetzt kann ich nicht genug von ihnen bekommen. Beispiel: Ich habe eine Erweiterungsmethode, die ein vergangenes Datum verwendet und ein "Alter" zurückgibt. Mein Geburtsdatum zum Beispiel "12/07/1980" gibt "29" zurück. Liebeserweiterungsmethoden. –

+0

können Sie Rückgabetyp zu bool verwenden, um zu überprüfen, ob die Aufgabe, die Sie tun, erledigt ist oder nicht ... –

1

Hier ist ein Beispiel für eine Erweiterungsmethode, einschließlich der Klasse und Namespace

using System.Runtime.CompilerServices; 

namespace Extensions 
{ 
    public static class BitmapExtensions 
    { 
     [Extension()] 
     public static void MakeMyImageCool(Bitmap img) 
     { 
      //'# do something with your image here. 
     } 
    } 
} 

Und dann nennen es

Bitmap img = MySourceImage; 
img.MakeMyImageCool(); 

Beachten Sie, wie auch wenn eine Parameteranforderung in dem Verfahren gibt es, Sie sind keinen Parameter im Aufruf übergeben. Das liegt daran, dass die Erweiterungsmethode bereits den "img" als Parameter verwendet.

+0

Ich würde immer noch +1 Homam, wollte ich nur ein wenig verdeutlichen. –

Verwandte Themen