2010-11-28 9 views
2

特定のオブジェクトで使用される(DLL内の)クラスを作成するにはどうすればよいですか?例えば、ビットマップが特定のことをするために呼び出すクラスのように。例えばC#:オブジェクトで使用するクラス

ビットマップbmp =新しいビットマップ。
bmp.ThingToDo():

答えて

7

Extension Methodsをご覧ください。

次のようなクラスのビットマップへのあなたの方法を追加することができます。

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

幸運を!ここで

+0

私は最近、拡張メソッドを使用し始めましたが、今ではそれらを十分に得ることができません。例:私は過去の日付をとり、「年齢」を返す拡張メソッドを持っています。私の誕生日、例えば '12/07/1980'は' 29'を返します。愛の拡張メソッド。 –

+0

戻り値の型を使用して、実行中のタスクが完了したかどうかを確認することができます。 –

1

は、クラスと名前空間を含む拡張メソッドの例です

using System.Runtime.CompilerServices; 

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

そして

Bitmap img = MySourceImage; 
img.MakeMyImageCool(); 

それを呼び出すためのメソッドのパラメータ要求があるにもかかわらず、あなたはどのように注意してくださいコールのパラメータを渡さない。これは、拡張メソッドがすでにパラメータとして「img」を使用しているためです。

+0

私はまだHomamを+1したいと思います。 –

関連する問題