zoukankan      html  css  js  c++  java
  • c# 依赖注入之---setterInjection(转)

    图3.1 Setter注入示意

    定义一个接口:

    namespace SetterInjection
    {
        internal interface IServiceClass
        {
            string ServiceInfo();
        }
    }

    定义一个要实现该接口的类A:

    internal class ServiceClassA : IServiceClass
        {
            public string ServiceInfo()
            {
                return "我是ServceClassA";
            }
        }

    定义一个要实现该接口的类B:

     internal class ServiceClassB : IServiceClass
        {
            public string ServiceInfo()
            {
                return "我是ServceClassB";
            }
        }
    

     定义一个主体类---注入点:

      internal class ClientClass
        {
            private IServiceClass _serviceImpl;
            public void Set_ServiceImpl(IServiceClass serviceImpl)
            {
                this._serviceImpl = serviceImpl;
            }
    
            public void ShowInfo()
            {
                Console.WriteLine(_serviceImpl.ServiceInfo());
            }
        }

    Main:

       class Program
        {
            static void Main(string[] args)
            {
                //setterInjection
                IServiceClass serviceA = new ServiceClassA();
                IServiceClass serviceB = new ServiceClassB();
                ClientClass client = new ClientClass();
    
                client.Set_ServiceImpl(serviceA);
                client.ShowInfo();
                client.Set_ServiceImpl(serviceB);
                client.ShowInfo();
                Console.ReadLine();
            }
        }

    结果:

  • 相关阅读:
    AT SELECTIONSCREEN的用法
    ADD的用法
    ~的用法
    DIV+CSS布局
    CSS 列表
    CSS 文本
    VC include 路径解析
    CRITICAL_SECTION临界区学习
    UI设计时要注意的几个方面
    使用和扩展marshal_as库
  • 原文地址:https://www.cnblogs.com/25miao/p/7183463.html
Copyright © 2011-2022 走看看