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

C# , .netWebApi, WPF 用特性实现类似Java 的Ioc 自动装配@Autowired

写C# 一直很羡慕Java的@Autowired 自动装配. 因为C# 必须手动在Ioc里注册

之前用接口实现了自动注册IOC, 总是觉得美中不足, 毕竟没有真正实现用注解/特性实现自动注入, 这次我们来实现一个用特性注入Ioc的扩展方法.

namespace MyCode.BLL.Service.Ioc
{/// <summary>/// 类型的生命周期枚举/// </summary>public enum Lifetime{/// <summary>/// 单例/// </summary>Singleton,/// <summary>/// 多例/// </summary>Transient,Scoped}/// <summary>/// 标注类型的生命周期、是否自动初始化/// </summary>[AttributeUsage(AttributeTargets.Class, AllowMultiple = false)]public class ExposedServiceAttribute : Attribute{public Lifetime Lifetime { get; set; }public bool AutoInitialize { get; set; }public Type[] Types { get; set; }public ExposedServiceAttribute(Lifetime lifetime = Lifetime.Transient, params Type[] types){Lifetime = lifetime;Types = types;}}
}
using Microsoft.Extensions.

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 汽车之家车型_车系_配置参数数据抓取
  • 前端设计模式之【工厂模式】
  • 2311rust无畏并发.
  • C#基于inpoutx64读写ECRAM硬件信息
  • 机器学习---多分类SVM、支持向量机分类
  • FFMPEG库实现mp4/flv文件(H264+AAC)的封装与分离
  • 中文编程软件视频推荐,自学编程电脑推荐,中文编程开发语言工具下载
  • SDN和NFV笔记
  • k8s docker cgroup驱动问题 —— 筑梦之路
  • HTTPS安全相关-通信安全的四个特性-ssl/tls
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • 【Proteus仿真】【51单片机】水质监测报警系统设计
  • 城市内涝积水的原因有哪些?万宾科技内涝积水监测仪工作原理
  • JSON方法实现深拷贝存在的问题
  • 2022年12月 Python(四级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 2019.2.20 c++ 知识梳理
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • git 常用命令
  • javascript从右向左截取指定位数字符的3种方法
  • Js基础知识(四) - js运行原理与机制
  • spring + angular 实现导出excel
  • Sublime Text 2/3 绑定Eclipse快捷键
  • ucore操作系统实验笔记 - 重新理解中断
  • webgl (原生)基础入门指南【一】
  • windows下使用nginx调试简介
  • 闭包--闭包作用之保存(一)
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 对象管理器(defineProperty)学习笔记
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 给第三方使用接口的 URL 签名实现
  • 世界上最简单的无等待算法(getAndIncrement)
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 在weex里面使用chart图表
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • 说说我为什么看好Spring Cloud Alibaba
  • "无招胜有招"nbsp;史上最全的互…
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #pragma data_seg 共享数据区(转)
  • #pragma 指令
  • #前后端分离# 头条发布系统
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (2)Java 简介
  • (C语言)fgets与fputs函数详解
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (附源码)springboot教学评价 毕业设计 641310
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (论文阅读40-45)图像描述1
  • (数据结构)顺序表的定义
  • (转)LINQ之路
  • (转)负载均衡,回话保持,cookie