gpt4 book ai didi

c# - DynamicObject - 根据参数值调用方法

转载 作者:行者123 更新时间:2023-11-30 15:45:25 25 4
gpt4 key购买 nike

我希望能够存储一个 Action 字典,并能够根据字典的键调用那些 Action 。如果未找到 key ,则不会调用任何操作。我有一个想法,即使用扩展 DynamicObject 的对象执行调用并在构造时获取操作字典,但是所有关于如何使用 DynamicObject 的示例都基于属性,而不是方法。我希望能够做这样的事情:

`dynamicDictionary.InvokeMethod(commandName);`

最佳答案

开源框架 Dynamitey会这样做。对于 Action 字典,您可以使用 MS 内置的 ExpandoObjectDynamitey 构建一个像代理一样工作的 DynamicObjects.BaseDictionary到字典。

如果您将操作作为属性填充,它们可以作为方法调用。如果需要通过字符串名称调用它们,可以使用 Dynamic.InvokeAction(dynamicDictionary, commandName)。这使用 DLR 来调用一种方法,它比静态对象上的反射更快,并使其在动态对象上成为可能。

关于c# - DynamicObject - 根据参数值调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5241544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com