据我所知,我们不能用Java来完成。我们可以在scala中做到这一点吗?是否可以在scala中获取方法的参数名称
假设有一个方法如下:
def insert(name:String, age:Int) {
// insert new user
}
是否有可能得到的参数名称name
和斯卡拉age
?
UPDATE
我想这样做,因为我想程序自动绑定的方法的参数。
例如,这是一个Web应用程序,它具有被定义为一些操作:
class UsersController extends Controller {
def create(name: String, age: Int) {
// insert the user
}
}
客户机点击了创建用户形式的submit
按钮。该网址将是/users/create
,并带有一些参数发送。
在服务器端,当我们得到一个名为/users/create
的网址时,我们会在控制器UsersController
中找到一个方法create
,现在找到一个。然后,我必须得到该方法的参数名称,那么我们就可以得到他们的价值观:
val params = getParamsFromRequest()
val method = findMethodFromUrl("https://stackoverflow.com/users/create")
val paramNames = getParamNamesOfMethod(method)
val paramValues = getValues(params, paramNames)
// then invoke
method.invoke(controller, paramValues)
现在的关键是如何让一个方法的参数名称?
你想做什么就做什么?获取方法的名称? – Fabian 2011-03-04 09:12:53