2012-05-04 5 views
0

私がやっているのは、メソッド名を知らずにクラス内のメソッドを実行することです。私はクラスからの配列の配列を持っていて、実際のメソッドではなく、配列内のどのメソッドのインデックスであるのです。これは私が試みたものです...しかし、実際にそれを行う方法はわかりません。クラス内のメソッドの配列を使用してクラスのメソッドを実行するにはどうすればよいですか?

Class blocks = Blocks.class; 
Method[] methods = blocks.getDeclaredMethods(); 
Blocks block = new Blocks(); 
String a = block.(methods[blockBox.getSelectedIndex()]); 

どうすればいいですか?この1つの状況に合わせてコードを書き直すこともできません。メソッドは戻り値の型String、あなたが持っているインデックスのパラメータなし

答えて

0

コールinvoke()方法を持っていることを提供

String a = (String) methods[blockBox.getSelectedIndex()].invoke(null); 

:静的メソッドの場合

String a = (String) methods[blockBox.getSelectedIndex()].invoke(block); 

:インスタンスメソッドの場合

関連する問題