2017-11-12 8 views
-3

私は次のようなことをしたい... 関数の代理人のリストがあり、0のインデックスにアクセスするところで、それを呼び出して値を返します。関数代理人のリストを作成するには?

public static bool methodOne() 
{ 
    return true; 
} 

var methods_list = new List<Func<Delegate>>(); 
methods_list.Add(() => methodOne()); 

// print true 
Console.WriteLine(methods_list[0].Invoke()); 
+2

'Action'sは、戻り値はありません。 –

+0

「うまくいかない」とはどういう意味なのか、注意してください。 –

+0

@ DanielA.White大丈夫です。どうすれば使用できますか? –

答えて

1

あなたはそれがTを返すので、Func<T>を返却する必要があります。

void Main() 
{ 
    var methods_list = new List<Func<bool>>(); 
    methods_list.Add(() => methodOne()); 

    // prints true 
    Console.WriteLine(methods_list[0].Invoke()); 
} 

public static bool methodOne() 
{ 
    return true; 
} 
+0

wow ..それは全てです。ありがとうございます。 –

0
var methods_list = new List<Func<bool>>(); 
methods_list.Add(methodOne); 

// print true 
Console.WriteLine(methods_list[0]()); 
関連する問題