.NET Frameworkライブラリは、便利なジェネリックデリゲート(または呼び出すときには「関数型」)を定義します。あなたはこの
void DrawFunction(Func<double, double> function, double x0, double x1)
{
const double step = 0.1;
for (x = x0; x <= x1; x += step) {
double y = function(x);
DrawPointAt(x, y);
}
}
のようにデリゲートを受け取るメソッドを定義することができ、戻り値には戻り値
Action<>
Action<Arg>
Action<Arg1, Arg2>
...
を持っていない
Func<Ret>
Func<Arg, Ret>
Func<Arg1, Arg2, Ret>
...
機能デリゲートを持っている機能を委任適切なメソッドまたはラムダ式を渡すことによって呼び出すことができます。
DrawFunction(Square, 0.0, 10.0);
あなたが得る(ここでは、このメソッドを呼び出すにしたくないので、かっこ()Square
後に不足していることに注意してください)あなたが呼び出しを行うことができます
public double Square(double x)
{
return x*x;
}
この宣言を使用して
ラムダ式と同じ結果
DrawFunction(x => x*x, 0.0, 10.0);
あなたの質問は非常に広く曖昧です。私はあなたが探している用語を "デリゲート"と "イベントハンドラ"と推測しています。これらについて読んだり、より具体的な質問をしてください。 –
ありがとうございました。私はそれを調べます。私は関数をユーザーコントロールのプライベート変数に渡すことができます。それから、私は良いだろう。再度、感謝します。 – MindGame