0

私はこの問題に多くの時間を費やしましたが、役に立ちませんでした。理想的には、動的に生成されたクラスのコンストラクターにパラメーターを渡したいと思います。問題は、パラメーター化されたコンストラクターでインスタンス化する方法がわからないことです。

これまでのインスタンス化への私のアプローチは...

CtClass myClass . . . 
myClass.addInterfaces(.... //assume I have an interface that is nondynamic
InterfaceName interfaceinstance = (InterfaceName) (myClass.toClass().newInstance());

柔軟性を高めるためにこれを行うためのより良い方法はありますか?

どうもありがとう!

RB

4

1 に答える 1

3

文字列をパラメーターとして受け取るコンストラクターを呼び出したいと仮定します(署名を知っていると思います)

Class clazz = object.getClass();
Constructor ctr = clazz.getDeclaredConstructor(String.class);
Object instance = ctr.newInstance("Foo");
于 2011-06-28T19:10:13.223 に答える