2012-04-30 5 views
1

パラメータ化されたメソッドの配列またはメソッドリストを宣言したい。これはメソッド配列が存在することを意味し、配列のインデックスを使ってメソッドを呼び出すことができます。同時に、メソッドにパラメータを渡したいと思います。どうやってやるの?C#パラメータ化メソッド配列またはパラメータ化メソッドリスト

+2

あなたが偽のモックアップすべきですコンパイルされなくても何をしようとしているのかを示すコード。また、そのようなメソッドをどのように呼び出すかを示します。 – Yuck

+0

代理人またはスイッチケースを使用します。ヤックは言ったように、正確に何をしたいのか分からずに言うのは難しいです。 – superM

+1

すべてのメソッドが同じシグネチャ(パラメータと戻り値)を持っていますか? –

答えて

4

あなたがメソッドのシグネチャを知っている場合、あなたはこのような何か行うことができます。intを取り込んでstringを返すメソッドの例を使用して

を:

var functionList = new List<Func<int, string>>(); 

functionlist.Add(SomeMethod) 


functionlist[0](12345); //call the function 


//Assuming you had this: 
public string SomeMethod(int val) { ... 
+0

ここで「var」とは何ですか?コンパイラはコードの1行目をコンパイルしません。あなたはグローバルを宣言しなければならないと思いますか? – sanchop22

+1

あなたはどのバージョンのC#を使用していますか?新しいバージョンは、.Net 3.0以降。 Try: List > functionList = new List >(); –

+0

関数リストを宣言している行にメソッドを表示できますか?のような:リスト> functionList =新しいリスト>()= {m1、m2、m3、...} – sanchop22

関連する問題