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);
    }
  • 相关阅读:
    STM32——项目需求之低功耗的停机模式
    sscanf函数——强大的C语言库函数
    二级指针偏移
    RTX基础教程目录
    #pragma pack(push) 和#pragma pack(pop) 以及#pragma pack()
    Write thread-safe servlets [reproduced]
    C++程序员如何转Java
    How to implement equals() and hashCode() methods in Java[reproduced]
    The Java Enum: A Singleton Pattern [reproduced]
    VS Code
  • 原文地址:https://www.cnblogs.com/ningth/p/1735006.html
Copyright © 2011-2022 走看看