ASP.NET CORE 默认DI的ServiceProvideEngine分析(DependencyInjection,c#,asp.net,.net,IOC)

前置

Emit简单使用

public static void Main(string[] args){
  // -- 创建程序集
  AssemblyBuilder assemblyBuilder = AssemblyBuilder.DefineDynamicAssembly(
    new AssemblyName("Example.Generator"),
    AssemblyBuilderAccess.RunAndCollect);
  // -- 创建模块
  ModuleBuilder moduleBuilder = assemblyBuilder.DefineDynamicModule("Generators");
  // -- 创建 Generator 类
  TypeBuilder typeBuilder = moduleBuilder.DefineType("Generator");
  // -- 创建构造函数
  ConstructorBuilder constructorBuilder =
    typeBuilder.DefineConstructor(MethodAttributes.Public, CallingConventions.Standard, Type.EmptyTypes)
  //  - 填充构造函数内需要执行的IL代码
    ILGenerator constructGenerator = constructorBuilder.GetILGenerator();
  //  - 定义一个字符串
  constructGenerator.Emit(OpCodes.Ldstr, "通过Emit构建构造函数中的逻辑代码");
  //  - 调用Console.WriteLine()输出这句话
  constructGenerator.Emit(OpCodes.Call, typeof(Console).GetMethod(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值