当前位置: 首页 > news >正文

委托仓库

 1 public class ActionsRepository
 2 {
 3     private Dictionary<Type, IActionBase> _actions = new Dictionary<Type, IActionBase>();
 4 
 5     private static ActionsRepository _instance;
 6 
 7     private static object syncRoot = new object();
 8 
 9     public static ActionsRepository Instance => GetInstance();
10 
11     public IActionBase this[Type type]
12     {
13         get
14         {
15             if (_actions.ContainsKey(type))
16             {
17                 return _actions[type];
18             }
19 
20             return null;
21         }
22     }
23 
24     private ActionsRepository()
25     {
26     }
27 
28     public static ActionsRepository GetInstance()
29     {
30         lock (syncRoot)
31         {
32             if (_instance == null)
33             {
34                 _instance = new ActionsRepository();
35             }
36 
37             return _instance;
38         }
39     }
40 
41     public IActionBase GetIAction(Type type)
42     {
43         return this[type];
44     }
45 
46     public void RegisterAction(IActionBase action)
47     {
48         try
49         {
50             Type type = action.GetType();
51             if (!_actions.ContainsKey(type))
52             {
53                 _actions.Add(type, action);
54                 return;
55             }
56 
57             throw new ArgumentException("Action already registered");
58         }
59         catch
60         {
61         }
62     }
63 }
1 public interface IActionBase
2 {
3     void Execute();
4 }

 

1 public interface IActionBaseExt<T> : IActionBase
2 {
3     void Execute(T param);
4 }

 

http://www.jsqmd.com/news/57876/

相关文章:

  • 【IEEE出版 | EI检索】第五届计算机、物联网与控制工程国际学术会议(CITCE 2025)
  • 必看!2025年口碑好的新疆旅游服务排行榜
  • 减肥最快最有效方法!2025年代谢减肥产品深度评估,破解秋冬难瘦和反弹魔咒
  • [ffmpeg] 简单的文件转udp-ts流发送脚本
  • 【C语言】扫雷游戏详解 - 指南
  • 完整教程:从零开始搭建 flask 博客实验(3)
  • 2025年12月加拿大海参产品推荐排行榜:五大品牌综合对比与选购指南
  • PbootCMS内容详情页标签
  • 2025年12月加拿大海参产品推荐排行榜单对比与选购分析
  • 如何通过U盘在PC上安装ubuntu-22.04.5
  • 2025年12月雅思机构深度测评:5家高性价比选择,真实提分数据全解析
  • 基于 JSON 配置的 .NET 桌面应用自动更新方案
  • 哪款代餐产品科学又有效?2025热门减脂代餐深度测评,腰纪线成首选标杆
  • 2025留学中介排行榜前十名
  • 2025UV转印加工厂家测评:亚克力摄像头装饰件厂家合集
  • 2025好的英国留学中介有哪些
  • 2025广州英国留学中介机构哪家好一点
  • Jupyter操作
  • 2025防水涂料哪家质量好:锢小装真实使用体验+高性价比品牌
  • PbootCMS 公司信息标签详解与应用场景
  • 成为一个进阶语音智能体开发者,你必须了解这些丨 RTE101 技术专场@RTE2025 回顾
  • 2025年12月加拿大海参产品推荐排行榜单对比与评价分析
  • 2025年靠谱的高端定制家具行业内知名厂家排行榜
  • 2025年12月厨余处理器品牌综合评测:七大主流型号横评,专为中餐烹饪习惯的选购优先级推荐
  • 阅读记录
  • 2025年口碑好的中高端定制家具厂家最新实力排行
  • how to use claude skills in any agent framework and tools
  • 2025年酒店人工温泉设计公司,温泉度假村温泉设计机构给推荐
  • 2025稀释剂供应商推荐TOP5权威榜单:认证厂家与服务商深
  • 2025年兰州餐桌椅厂家综合实力排行榜:五大优质供应商权威推荐