zoukankan      html  css  js  c++  java
  • C# 依赖注入

    namespace ConsoleApplication1
    {
        public class Program
        {
            private ITestA A;
            public Program(ITestA B)
            {
                A = B;
            }
            static void Main(string[] args)
            {
                //TestA A = new TestA();
                var ss =  A.F1("0");   //报错 ,  
            }
        }
        public interface ITestA //接口
        {
            string F1(string name);
        }
        public class TestA: ITestA  //继承接口 必须实现接口中的方法
        {
            public string F1(string name)
            {
                return "0000000";
            }
        }
    }
      大神295 970 553: 一般有ninject  autofac 还有其他的,推荐用autofac  
     
           static void Main(string[] args)
            {
    
                var builder = new ContainerBuilder();
                builder.RegisterType<DatabaseManager>(); //  该类包含 依赖项 IDatabase 接口
                builder.RegisterType<SqlDatabase>().As<IDatabase>(); //调用哪个接口子类中的方法
                var container = builder.Build();
    
                DatabaseManager manager = container.Resolve<DatabaseManager>();  //创建对象
                manager.Search("SELECT * FORM USER");
    
    
                DatabaseManager test = new DatabaseManager(new SqlDatabase()); //创建对象时 对构造函数传递一个参数
                test.Search("SELECT * FORM USER");
            }
                // new DatabaseManager(new SqlDatabase())    等价   container.Resolve<DatabaseManager>();  //创建对象
     
     
  • 相关阅读:
    字符串、组合练习
    national flag
    常用的Linux操作
    大数据概述
    LL(1)文法
    简单有穷自动机
    简单C语言文法
    词法分析
    编译原理 141
    综合练习
  • 原文地址:https://www.cnblogs.com/enych/p/8884184.html
Copyright © 2011-2022 走看看