2010-11-28 35 views
2

Comment puis-je créer une classe (dans une DLL) utilisée avec un objet spécifique? Comme par exemple, une classe que Bitmaps appelle pour faire certaines choses. par exemple. Bitmap bmp = new Bitmap;C#: Classe à utiliser avec l'objet


bmp.ThingToDo():

Répondre

7

Jetez un oeil à Extension Methods.

Vous pouvez ajouter votre méthode à la classe Bitmap comme ce qui suit:

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

Bonne chance!

+0

J'ai récemment commencé à utiliser des méthodes d'extension, et maintenant je ne peux pas en avoir assez. Exemple: J'ai une méthode d'extension qui prend une date antérieure et renvoie un "âge". Ma date de naissance par exemple '12/07/1980' renvoie' 29'. Méthodes d'extension de l'amour. –

+0

vous pouvez utiliser le type de retour à bool pour vérifier si la tâche que vous faites est faite ou non ... –

1

Voici un exemple d'une méthode d'extension, y compris la classe et l'espace

using System.Runtime.CompilerServices; 

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

Et puis l'appeler

Bitmap img = MySourceImage; 
img.MakeMyImageCool(); 

Remarquez que même si il y a une demande de paramètre dans la méthode, vous êtes ne pas passer un paramètre dans l'appel. C'est parce que la méthode d'extension utilise déjà le "img" comme paramètre.

+0

Je voudrais encore +1 Homam, je voulais juste clarifier un peu. –