0

牽引リストがあります。1 つは、ユーザーが選択したオブジェクトです。2 番目のリストには、最初のリストのオブジェクトで使用されるメソッドが含まれます。

List 1 List2

Paul Method ShakeHand

Mark Method HighFive

Annie Method Hug

リスト 2 のメソッド 0 がリスト 1 のオブジェクト 0 を使用するように、インデックスを使用します。各アクションが実行されるまで、リストを下に移動し続けます。

Add()内部のメソッドを使用してみましたが、うまくいきませんでした。また、どの用語を使用すればよいかわからないため、Google を使用してもうまくいきませんでした。

4

3 に答える 3

3

これを行うには、オブジェクト、つまりクラスのインスタンスを挿入します。

Greet名前付きまたは類似のメソッドを使用して基本クラスを作成します。Greetメソッドを実装し、ShakeHandHighFive、またはを実行するサブクラスを作成しますHug。適切なサブクラスのインスタンスを挿入し、必要に応じてメソッドを呼び出しGreetます。

于 2012-12-30T07:57:05.323 に答える
2

Func<T1, T2, .., TReturn>またはAction<T1, ... Tn>デリゲートを使用します。唯一の問題は、メソッドが同じ署名を持つ必要があることです。

于 2012-12-30T07:58:23.410 に答える
0

それは私には少しダイナミックに聞こえます。私はリフレクションを使用します。選択リストに使用可能なメソッドを入力する場合と、呼び出しの場合の両方に使用します。これにより、パラメーターの問題が生じます。提案されたすべてのソリューションは、呼び出されるすべてのメソッドが同じ署名を持つことを前提としています。それが本当なら、これらの提案はどれも機能し、私のものとドミトリーのものは、メソッドを追加するために最小限のメンテナンスしか必要としません。適切なバージョンのフレームワークを使用している場合は、Dmitry のバージョンの方が優れています (ただし、選択リストにデータを入力するには、まだリフレクションが必要です)。

于 2012-12-30T10:09:52.873 に答える