我需要如何在类库中为依赖注入配置StructureMap

本文关键字:依赖 注入 配置 StructureMap 类库 | 更新日期: 2023-09-27 18:27:25

我正在创建一个程序集,一个尚未开发的应用程序将使用该程序集通过System.IO.Ports.SerialPort 与设备通信

我想使用StructureMap将一个接口传递给一个类,该类将作为SerialPort的包装器,传递给代表我将要通信的设备的类的构造函数。

例如

public interface ISerialPort
{
    Handshake Handshake { get; set; }
    bool IsOpen { get; }
    event SerialDataReceivedEventHandler DataReceived;
    void Close();
    void Open();
    string ReadLine();
    string ReadExisting();
}
public class MyDevice
{
    private readonly ISerialPort _serialPort;
    public MyDevice(ISerialPort serialPort)
    {
        _serialPort = serialPort;
    }
}

我还打算使用这种方法来促进单元测试。

我以前在具有Application_StartMain方法的web/桌面应用程序中使用过StructureMap,我可以将其用作配置StructureMap的入口点。然而,由于这是一个没有单个入口点的独立程序集,我无法做到这一点。

因此,对我来说,配置StructureMap以在程序集中使用的最佳方式是什么?

我需要如何在类库中为依赖注入配置StructureMap

告诉用户他们应该向容器中添加哪些类。别忘了描述每节课的目的。