zoukankan      html  css  js  c++  java
  • 【软件设计】【MEF】export

    Composable Part exports

    [Export]
    public class SomeComposablePart {
      ...
    }

    Property exports

      

    代码
      public class Configuration
      {
        [Export(
    "Timeout")]
        
    public int Timeout
        {
          
    get { return int.Parse(ConfigurationManager.AppSettings["Timeout"]); }
        }
      }
      [Export]
      
    public class UsesTimeout
      {
        [Import(
    "Timeout")]
        
    public int Timeout { getset; }
      }

    Method exports

      

    代码
      public class MessageSender
      {
        [Export(
    typeof(Action<string>))]
        
    public void Send(string message)
        {
          Console.WriteLine(message);
        }
      }

      [Export]
      
    public class Processor
      {
        [Import(
    typeof(Action<string>))]
        
    public Action<string> MessageSender { getset; }

        
    public void Send()
        {
          MessageSender(
    "Processed");
        }
      }
    代码
      public class MessageSender
      {
        [Export(
    "MessageSender")]
        
    public void Send(string message)
        {
          Console.WriteLine(message);
        }
      }

      [Export]
      
    public class Processor
      {
        [Import(
    "MessageSender")]
        
    public Action<string> MessageSender { getset; }

        
    public void Send()
        {
          MessageSender(
    "Processed");
        }
      }

    Inherited Exports

    [InheritedExport]
    public interface ILogger {
      
    void Log(string message);
    }

    public class Logger : ILogger {
      
    public void Log(string message);
    }
  • 相关阅读:
    IntelliJ Idea 2017 免费激活方法
    RabbitMq、ActiveMq、ZeroMq、kafka之间的比较
    Oracle锁的机制
    序列化和持久化的区别
    Hibernate框架之get和load方法的区别
    Hibernate框架之入门案例
    Oracle添加数据报文字与格式字符串不匹配错误
    Linux设备驱动程序 之 异步通知
    Linux设备驱动程序 之 poll和select
    Linux设备驱动程序 之 休眠
  • 原文地址:https://www.cnblogs.com/ningth/p/1735006.html
Copyright © 2011-2022 走看看