2008/05/13(Tue) 23:41:35 編集(投稿者)
そのままじゃ無理でしょう。
間にクラスをかませるしか。
注: VS.NET2003での”コンパイル”確認のため.NET 1.1相当です。(実行はしていません)
// パターン1 : 特化したクラス。internalTaskCのようなメソッドが少数の場合
public class TaskCClass
{
private int _x;
public TaskCClass(int x)
{
_x = x;
}
private int internalTaskC(int x) { return 0; }
public int TaskC() { return internalTaskC(_x); }
}
// パターン2 : int型の引数を1個持つデリゲート向け汎用クラス
public class WrappingClass
{
private int _x;
public delegate int Func2(int x);
private Func2 _Func2;
public WrappingClass(int x, Func2 func2)
{
_x = x;
_Func2 = func2;
}
public int Execute() { return _Func2(_x); }
}
どちらにしてもコンストラクタで値を渡して、インスタンスメソッドをデリゲートとして渡す形です。