如何在Kotlin中创建动态/透明代理?

时间:2017-07-08 21:24:26

标签: kotlin

在C#中,我们可以使用DynamicObject类进行动态方法调用,例如用于JsonRPC等。在Python中,使用 getattr 调用执行相同的任务。一般来说,我需要一个没有真正方法的对象,可以像包含方法一样使用。方法和参数的名称进入函数并完成任务。使用IoC我们可以通过拦截来实现,但我需要知道是否有其他方式(如C#中的动态)而不使用接口和IoC。

例如,Zabbix API有许多JSON-RPC方法,如host.create trigger.get ... 有一个Python包装器可以帮助你调用它们:

from zabbix_api import ZabbixAPI
zapi = ZabbixAPI(server="https://server/")
zapi.login("login", "password")
zapi.trigger.get({"expandExpression": "extend", "triggerids": range(0, 100)})

实际上在ZabbixAPI类中没有“登录”和“触发器”之类的属性!

0 个答案:

没有答案