java - Invoke methods with different arguments in a generic way -


im trying write generic code, can invoke methods @ runtime different number & type of arguments. have class & different methods @ disposal reading file, along arguments passed particular method.

so, here's object array contains values of different type -

object[] args = new object[]{"astring", 1, true};

/* based on object java.lang.reflect.method.invoke(object obj, object... args) , have written following method */

//"executingmethod" references method executed, 1 can class.forname("classname").getdeclaredmethods(); , traversing particular method.

executingmethod.invoke(methodclassobject, args); //and doesn't execute because @ runtime doesn't know(can't downcast) param "type".

i don't want pass args[0], args[1], args[2] inside executingmethod.invoke(..), case number of arguments may vary.

any suggestions pls??

here 1 way deal problem:

create following interface

import java.util.arraylist; public interface executableinterface {     void executable(string methodname);     string getexecutablemethod();     void setparameters(arraylist parameters);     arraylist getparameters(); } 

now, in class want invokable, make implement methods , pass invokable method using executable , pass parameters using setparameter.

at runtime values , call executable method returns getexecutablemethod. same way parameters.


Comments

Popular posts from this blog

c# - SVN Error : "svnadmin: E205000: Too many arguments" -

c# - Copy ObservableCollection to another ObservableCollection -

All overlapping substrings matching a java regex -