zoukankan      html  css  js  c++  java
  • Autofac json configuration

     static void Main(string[] args)
            {
                var config = new ConfigurationBuilder();
                config.AddJsonFile("autofac.json");
                // Register the ConfigurationModule with Autofac.
                var module = new ConfigurationModule(config.Build());
                var builder = new ContainerBuilder();
                builder.RegisterModule(module);
                var container = builder.Build();
                IOperation operation = container.Resolve<IOperation>();
                operation.Hello();
    
               
            }
    
    {
      "defaultAssembly": "Autofac.Example.Calculator",
      "components": [
        {
          "type": "Autofac.Example.Calculator.Addition.Add, Autofac.Example.Calculator",
          "services": [
            {
              "type": "Auofac.Example.Calculator.Api.IOperation,Autofac.Example.Calculator"
            }
          ],
          "injectProperties": true
        },
        {
          "type": "Autofac.Example.Calculator.Division.Divide, Autofac.Example.Calculator",
          "services": [
            {
              "type": "Auofac.Example.Calculator.Api.IOperation,Autofac.Example.Calculator"
            }
          ],
          "parameters": {
            "places": 4
          }
        }
      ]
    }
    public class IOperation
       {
           public virtual void Hello()
           {
               Console.WriteLine("Hello");
           }
       }
     
     public class Divide : IOperation
       {
           public override void Hello()
           {
               Console.WriteLine("Hello,I'm Divide");
           }
       }
     
    public class Add : IOperation
       {
           public override void Hello()
           {
               Console.WriteLine("Hello,I'm Add");
           }
       }
    
    <?xml version="1.0" encoding="utf-8" ?>
    <autofac defaultAssembly="Autofac.Example.Calculator">
        <components name="0">
            <type>Autofac.Example.Calculator.Addition.Add, Autofac.Example.Calculator.Addition</type>
            <services name="0" type="Autofac.Example.Calculator.Api.IOperation" />
            <injectProperties>true</injectProperties>
        </components>
        <components name="1">
            <type>Autofac.Example.Calculator.Division.Divide, Autofac.Example.Calculator.Division</type>
            <services name="0" type="Autofac.Example.Calculator.Api.IOperation" />
            <injectProperties>true</injectProperties>
            <parameters>
                <places>4</places>
            </parameters>
        </components>
    </autofac>
    

      

      

      

      

      

  • 相关阅读:
    idea + springboot 的java后台服务器通过小米推送
    python编程之禅
    温故而知新-MySQL高级编程
    温故而知新-mysql的一些语法show,describe,explain,fulltext
    温故而知新-PHP文件操作函数
    温故而知新-正则单词和strlen
    php使用tcpdf实现在线PDF功能
    温故而知新-array_walk和sizeof和array_count_values()和extract()
    温故而知新-strtok函数
    mysql中的blob和text区别
  • 原文地址:https://www.cnblogs.com/ms_senda/p/12612198.html
Copyright © 2011-2022 走看看