getDeclaredMethod()
このシグネチャを持つメソッドを見つけるために使用したい:
public void foo(String inArg1, Object... inArgs);
この呼び出しの使用:
Class<?>[] argClasses = { String.class, Integer.class };
Method m = clazz.getDeclaredMethod("foo", argClasses);
しかし、それはNoSuchMethodException
例外を生成します。ただし、メソッドを呼び出すことは可能です (別の方法で見つけたと仮定します)。
Object[] args = { "arg1", new Integer(2) };
m.invoke(instance, args);
を使用してそれらをすべてリストし、getDeclaredMethods()
自分で署名の照合を試みることもできますが、それは大変な作業のようです。
私がやりたいことは可能であるべきですか?私は何かばかげたことを見逃していますか?