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>();  //创建对象
     
     
  • 相关阅读:
    $P5240 Derivation$
    $P2504 [HAOI2006]聪明的猴子$
    $P1194 买礼物$
    $P2690 接苹果$
    $CF1141C Polycarp Restores Permutation$
    $CF1141B Maximal Continuous Rest$
    $CF1141A Game 23$
    $P1215 [USACO1.4]母亲的牛奶 Mother's Milk$
    $luogu2375[NOI2014]$
    poj 1419 (最大独立集)
  • 原文地址:https://www.cnblogs.com/enych/p/8884184.html
Copyright © 2011-2022 走看看