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>();  //创建对象
     
     
  • 相关阅读:
    MYSQL日志管理
    MYSQL权限管理
    MYSQL索引操作
    数据库基本操作
    MYSQL5.7的安装(yum、二进制、编译安装)
    记一次科来的培训--流量突发监测分析案例
    4、LNMP部署项目
    RIP
    OSPF(1)
    权限安全:sudo
  • 原文地址:https://www.cnblogs.com/enych/p/8884184.html
Copyright © 2011-2022 走看看