如何在字典中存储具有不同参数的通用动作?

齐蒙

我想在一个a中存储具有一个泛型参数的委托(Action),Dictionary并且如果可能的话,我想避免任何有关向下/向上广播的Code Smell。

基本上,我正在实现某种请求/响应回调管理器,其中用户从REST API请求某些内容,并为我提供具有正确Response对象的回调。简而言之,用户调用的方法如下所示:

void GetUser(int id, Action<GetUserResponse> callback);

然后,我发出请求,并将回调保存到我的“回调管理器”中。当来自服务器的响应(主要是json)传入时,我将其解析为一个GetUserResponse对象并触发回调。但是,有许多不同的请求具有不同的响应对象,并且回调管理器必须对它们进行优先级排序(还有其他一些东西),而不是每个存储有该请求的回调的单个请求都具有一个词典,我想拥有一个存储所有回调(和唯一ID)的字典。

基本上是这样的:(显然不能那样工作)

Dictionary<GUID,Action<T>> AllCallbacks;

不必在“用户端”投放任何内容,这有可能吗?

加雷斯·范德伯格

看一下动作词典<T>代表应该为您提供一些可用选项的指导。我认为没有开箱即用的简单优雅的解决方案。您可以使用,Dictionary<GUID,Action<dynamic>> AllCallbacks;但随后需要键入check并进行相应的转换。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在具有不同参数和别名的列中执行SELECT?

来自分类Dev

如何在Matlab中重新运行具有不同参数的程序?

来自分类Dev

如何在 LINQ 中过滤具有不同参数的列表

来自分类Dev

不同svm库中具有相同参数,相同参数的不同精度

来自分类Dev

不同svm库中具有相同参数,相同参数的不同精度

来自分类Dev

如何在 gnuplot 上绘制具有不同参数值的函数?

来自分类Dev

如何传递具有不同值的相同参数

来自分类Dev

如何使用管道过滤具有不同参数的数组

来自分类Dev

java:如何复制具有不同参数类型的值

来自分类Dev

Java中具有不同参数的接口方法

来自分类Dev

如何从WebApiController访问具有多个动作和相同参数的动作

来自分类Dev

如何从网页中对具有多个不同参数的JSON进行排序?

来自分类Dev

如何从网页中对具有多个不同参数的JSON进行排序?

来自分类Dev

请求匹配的多个动作导致ASP.NET 5 / MVC 6中具有不同参数的动作不明确

来自分类Dev

具有不同参数的策略模式

来自分类Dev

具有不同参数的相同查询

来自分类Dev

具有不同参数的调用方法

来自分类Dev

具有相同模板的不同参数

来自分类Dev

如何在Simulink中克隆具有不同参数集的子系统?或者:如何为子系统定义局部索引变量?

来自分类Dev

如何在SSRS中重新加载具有相同参数的报告?

来自分类Dev

如何在具有不同参数值的foreach循环内的控制器内部调用函数

来自分类Dev

具有不同参数类型的回调并存储类型

来自分类Dev

在React Router中,我如何路由到两个具有不同参数的相似URL

来自分类Dev

如何忽略Rspec中对具有不同参数的同一方法的某些调用?

来自分类Dev

如何将具有不同参数的函数用作函数参数

来自分类Dev

在不同控制器中具有不同参数名称的MVC路由

来自分类Dev

laravel中具有不同参数的不同路径到相同方法

来自分类Dev

在模板中显示具有不同参数的图形 - 所有图形都是混合的

来自分类Dev

如何同时启动具有不同参数的同一批处理作业?

Related 相关文章

  1. 1

    如何在具有不同参数和别名的列中执行SELECT?

  2. 2

    如何在Matlab中重新运行具有不同参数的程序?

  3. 3

    如何在 LINQ 中过滤具有不同参数的列表

  4. 4

    不同svm库中具有相同参数,相同参数的不同精度

  5. 5

    不同svm库中具有相同参数,相同参数的不同精度

  6. 6

    如何在 gnuplot 上绘制具有不同参数值的函数?

  7. 7

    如何传递具有不同值的相同参数

  8. 8

    如何使用管道过滤具有不同参数的数组

  9. 9

    java:如何复制具有不同参数类型的值

  10. 10

    Java中具有不同参数的接口方法

  11. 11

    如何从WebApiController访问具有多个动作和相同参数的动作

  12. 12

    如何从网页中对具有多个不同参数的JSON进行排序?

  13. 13

    如何从网页中对具有多个不同参数的JSON进行排序?

  14. 14

    请求匹配的多个动作导致ASP.NET 5 / MVC 6中具有不同参数的动作不明确

  15. 15

    具有不同参数的策略模式

  16. 16

    具有不同参数的相同查询

  17. 17

    具有不同参数的调用方法

  18. 18

    具有相同模板的不同参数

  19. 19

    如何在Simulink中克隆具有不同参数集的子系统?或者:如何为子系统定义局部索引变量?

  20. 20

    如何在SSRS中重新加载具有相同参数的报告?

  21. 21

    如何在具有不同参数值的foreach循环内的控制器内部调用函数

  22. 22

    具有不同参数类型的回调并存储类型

  23. 23

    在React Router中,我如何路由到两个具有不同参数的相似URL

  24. 24

    如何忽略Rspec中对具有不同参数的同一方法的某些调用?

  25. 25

    如何将具有不同参数的函数用作函数参数

  26. 26

    在不同控制器中具有不同参数名称的MVC路由

  27. 27

    laravel中具有不同参数的不同路径到相同方法

  28. 28

    在模板中显示具有不同参数的图形 - 所有图形都是混合的

  29. 29

    如何同时启动具有不同参数的同一批处理作业?

热门标签

归档