驱动内注入"设备名"参数
This commit is contained in:
parent
9b3f464e03
commit
e18f6305be
@ -3,7 +3,6 @@ using IoTClient.Enums;
|
||||
using PluginInterface;
|
||||
using System;
|
||||
using System.Text;
|
||||
using IoTGateway.Model;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace DriverAllenBradley
|
||||
@ -15,7 +14,7 @@ namespace DriverAllenBradley
|
||||
private AllenBradleyClient plc = null;
|
||||
|
||||
public ILogger _logger { get; set; }
|
||||
private readonly Device _device;
|
||||
private readonly string _device;
|
||||
#region 配置参数
|
||||
|
||||
[ConfigParameter("设备Id")]
|
||||
@ -35,12 +34,12 @@ namespace DriverAllenBradley
|
||||
|
||||
#endregion
|
||||
|
||||
public AllenBradley(Device device, ILogger logger)
|
||||
public AllenBradley(string device, ILogger logger)
|
||||
{
|
||||
_device = device;
|
||||
_logger = logger;
|
||||
|
||||
_logger.LogInformation($"Device:[{_device.DeviceName}],Create()");
|
||||
_logger.LogInformation($"Device:[{device}],Create()");
|
||||
}
|
||||
|
||||
|
||||
|
@ -14,6 +14,5 @@
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\PluginInterface\PluginInterface.csproj" />
|
||||
<ProjectReference Include="..\..\..\IoTGateway.Model\IoTGateway.Model.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
@ -9,6 +9,5 @@
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\PluginInterface\PluginInterface.csproj" />
|
||||
<ProjectReference Include="..\..\..\IoTGateway.Model\IoTGateway.Model.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
@ -1,5 +1,4 @@
|
||||
using IoTGateway.Model;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using PluginInterface;
|
||||
|
||||
namespace DriverFaunc
|
||||
@ -23,7 +22,7 @@ namespace DriverFaunc
|
||||
private int _result = -1;
|
||||
|
||||
public ILogger _logger { get; set; }
|
||||
private readonly Device _device;
|
||||
private readonly string _device;
|
||||
|
||||
public bool IsConnected
|
||||
{
|
||||
@ -44,12 +43,12 @@ namespace DriverFaunc
|
||||
}
|
||||
}
|
||||
|
||||
public Fanuc(Device device, ILogger logger)
|
||||
public Fanuc(string device, ILogger logger)
|
||||
{
|
||||
_device = device;
|
||||
_logger = logger;
|
||||
|
||||
_logger.LogInformation($"Device:[{_device.DeviceName}],Create()");
|
||||
_logger.LogInformation($"Device:[{device}],Create()");
|
||||
}
|
||||
|
||||
public bool Close()
|
||||
|
@ -15,6 +15,5 @@
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\PluginInterface\PluginInterface.csproj" />
|
||||
<ProjectReference Include="..\..\..\IoTGateway.Model\IoTGateway.Model.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
@ -4,7 +4,6 @@ using System;
|
||||
using System.Text;
|
||||
using HslCommunication.CNC.Fanuc;
|
||||
using HslCommunication;
|
||||
using IoTGateway.Model;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace DriverFanucHsl
|
||||
@ -16,7 +15,7 @@ namespace DriverFanucHsl
|
||||
private FanucSeries0i fanuc;
|
||||
|
||||
public ILogger _logger { get; set; }
|
||||
private readonly Device _device;
|
||||
private readonly string _device;
|
||||
#region 配置参数
|
||||
|
||||
[ConfigParameter("设备Id")]
|
||||
@ -36,7 +35,7 @@ namespace DriverFanucHsl
|
||||
|
||||
#endregion
|
||||
|
||||
public FanucHsl(Device device, ILogger logger)
|
||||
public FanucHsl(string device, ILogger logger)
|
||||
{
|
||||
// 授权示例 Authorization example
|
||||
if (!Authorization.SetAuthorizationCode("输入你的授权号"))
|
||||
@ -48,7 +47,7 @@ namespace DriverFanucHsl
|
||||
_logger = logger;
|
||||
|
||||
|
||||
_logger.LogInformation($"Device:[{_device.DeviceName}],Create()");
|
||||
_logger.LogInformation($"Device:[{_device}],Create()");
|
||||
}
|
||||
|
||||
public bool IsConnected
|
||||
|
@ -14,6 +14,5 @@
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\PluginInterface\PluginInterface.csproj" />
|
||||
<ProjectReference Include="..\..\..\IoTGateway.Model\IoTGateway.Model.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
@ -2,7 +2,6 @@
|
||||
using System;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using OpenNETCF.MTConnect;
|
||||
using Device = IoTGateway.Model.Device;
|
||||
|
||||
namespace DriverMTConnect
|
||||
{
|
||||
@ -30,14 +29,14 @@ namespace DriverMTConnect
|
||||
EntityClient m_client = null;
|
||||
|
||||
public ILogger _logger { get; set; }
|
||||
private readonly Device _device;
|
||||
private readonly string _device;
|
||||
|
||||
public MTConnectClient(Device device, ILogger logger)
|
||||
public MTConnectClient(string device, ILogger logger)
|
||||
{
|
||||
_device = device;
|
||||
_logger = logger;
|
||||
|
||||
_logger.LogInformation($"Device:[{_device.DeviceName}],Create()");
|
||||
_logger.LogInformation($"Device:[{_device}],Create()");
|
||||
}
|
||||
|
||||
public bool Close()
|
||||
|
@ -14,6 +14,5 @@
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\PluginInterface\PluginInterface.csproj" />
|
||||
<ProjectReference Include="..\..\..\IoTGateway.Model\IoTGateway.Model.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
@ -3,7 +3,6 @@ using IoTClient.Enums;
|
||||
using PluginInterface;
|
||||
using System;
|
||||
using System.Text;
|
||||
using IoTGateway.Model;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace DriverMitsubishi
|
||||
@ -16,7 +15,7 @@ namespace DriverMitsubishi
|
||||
private MitsubishiClient plc = null;
|
||||
|
||||
public ILogger _logger { get; set; }
|
||||
private readonly Device _device;
|
||||
private readonly string _device;
|
||||
#region 配置参数
|
||||
|
||||
[ConfigParameter("设备Id")]
|
||||
@ -39,12 +38,12 @@ namespace DriverMitsubishi
|
||||
|
||||
#endregion
|
||||
|
||||
public Mitsubishi(Device device, ILogger logger)
|
||||
public Mitsubishi(string device, ILogger logger)
|
||||
{
|
||||
_device = device;
|
||||
_logger = logger;
|
||||
|
||||
_logger.LogInformation($"Device:[{_device.DeviceName}],Create()");
|
||||
_logger.LogInformation($"Device:[{_device}],Create()");
|
||||
}
|
||||
|
||||
|
||||
|
@ -12,7 +12,6 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\IoTGateway.Model\IoTGateway.Model.csproj" />
|
||||
<ProjectReference Include="..\..\PluginInterface\PluginInterface.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
using IoTGateway.Model;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Modbus.Device;
|
||||
using Modbus.Serial;
|
||||
using PluginInterface;
|
||||
@ -23,7 +22,7 @@ namespace DriverModbusMaster
|
||||
private SerialPortAdapter? _adapter;
|
||||
|
||||
public ILogger _logger { get; set; }
|
||||
private readonly Device _device;
|
||||
private readonly string _device;
|
||||
#region 配置参数
|
||||
|
||||
[ConfigParameter("设备Id")]
|
||||
@ -67,12 +66,12 @@ namespace DriverModbusMaster
|
||||
|
||||
#endregion
|
||||
|
||||
public ModbusMaster(Device device, ILogger logger)
|
||||
public ModbusMaster(string device, ILogger logger)
|
||||
{
|
||||
_device = device;
|
||||
_logger = logger;
|
||||
|
||||
_logger.LogInformation($"Device:[{_device.DeviceName}],Create()");
|
||||
_logger.LogInformation($"Device:[{_device}],Create()");
|
||||
}
|
||||
|
||||
public bool IsConnected
|
||||
@ -102,7 +101,7 @@ namespace DriverModbusMaster
|
||||
{
|
||||
try
|
||||
{
|
||||
_logger.LogInformation($"Device:[{_device.DeviceName}],Connect()");
|
||||
_logger.LogInformation($"Device:[{_device}],Connect()");
|
||||
switch (Master_TYPE)
|
||||
{
|
||||
case Master_TYPE.Tcp:
|
||||
@ -163,7 +162,7 @@ namespace DriverModbusMaster
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError($"Device:[{_device.DeviceName}],Connect(),Error", ex);
|
||||
_logger.LogError($"Device:[{_device}],Connect(),Error", ex);
|
||||
return false;
|
||||
}
|
||||
return IsConnected;
|
||||
@ -173,7 +172,7 @@ namespace DriverModbusMaster
|
||||
{
|
||||
try
|
||||
{
|
||||
_logger.LogInformation($"Device:[{_device.DeviceName}],Close()");
|
||||
_logger.LogInformation($"Device:[{_device}],Close()");
|
||||
_tcpClient?.Close();
|
||||
_udpClient?.Close();
|
||||
_serialPort?.Close();
|
||||
@ -181,7 +180,7 @@ namespace DriverModbusMaster
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError($"Device:[{_device.DeviceName}],Close(),Error", ex);
|
||||
_logger.LogError($"Device:[{_device}],Close(),Error", ex);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -194,11 +193,11 @@ namespace DriverModbusMaster
|
||||
_udpClient?.Dispose();
|
||||
_serialPort?.Dispose();
|
||||
_master?.Dispose();
|
||||
_logger.LogInformation($"Device:[{_device.DeviceName}],Dispose()");
|
||||
_logger.LogInformation($"Device:[{_device}],Dispose()");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError($"Device:[{_device.DeviceName}],Dispose(),Error", ex);
|
||||
_logger.LogError($"Device:[{_device}],Dispose(),Error", ex);
|
||||
}
|
||||
}
|
||||
|
||||
@ -220,7 +219,7 @@ namespace DriverModbusMaster
|
||||
{
|
||||
ret.StatusType = VaribaleStatusTypeEnum.UnKnow;
|
||||
ret.Message = ex.Message;
|
||||
_logger.LogInformation($"Device:[{_device.DeviceName}],ReadHoldingRegisters(),Error", ex);
|
||||
_logger.LogInformation($"Device:[{_device}],ReadHoldingRegisters(),Error", ex);
|
||||
|
||||
}
|
||||
return ret;
|
||||
@ -245,7 +244,7 @@ namespace DriverModbusMaster
|
||||
{
|
||||
ret.StatusType = VaribaleStatusTypeEnum.UnKnow;
|
||||
ret.Message = ex.Message;
|
||||
_logger.LogInformation($"Device:[{_device.DeviceName}],ReadInputRegisters(),Error", ex);
|
||||
_logger.LogInformation($"Device:[{_device}],ReadInputRegisters(),Error", ex);
|
||||
|
||||
}
|
||||
return ret;
|
||||
@ -282,7 +281,7 @@ namespace DriverModbusMaster
|
||||
{
|
||||
ret.StatusType = VaribaleStatusTypeEnum.UnKnow;
|
||||
ret.Message = ex.Message;
|
||||
_logger.LogInformation($"Device:[{_device.DeviceName}],ReadCoil(),Error", ex);
|
||||
_logger.LogInformation($"Device:[{_device}],ReadCoil(),Error", ex);
|
||||
|
||||
}
|
||||
return ret;
|
||||
@ -318,7 +317,7 @@ namespace DriverModbusMaster
|
||||
{
|
||||
ret.StatusType = VaribaleStatusTypeEnum.UnKnow;
|
||||
ret.Message = ex.Message;
|
||||
_logger.LogInformation($"Device:[{_device.DeviceName}],ReadInput(),Error", ex);
|
||||
_logger.LogInformation($"Device:[{_device}],ReadInput(),Error", ex);
|
||||
|
||||
}
|
||||
return ret;
|
||||
@ -387,7 +386,7 @@ namespace DriverModbusMaster
|
||||
{
|
||||
ret.StatusType = VaribaleStatusTypeEnum.Bad;
|
||||
ret.Message = ex.Message;
|
||||
_logger.LogInformation($"Device:[{_device.DeviceName}],ReadRegistersBuffers(),Error", ex);
|
||||
_logger.LogInformation($"Device:[{_device}],ReadRegistersBuffers(),Error", ex);
|
||||
}
|
||||
|
||||
}
|
||||
@ -497,7 +496,7 @@ namespace DriverModbusMaster
|
||||
ret.Message = ex.Message;
|
||||
StartAddress = 0;
|
||||
ReadCount = 0;
|
||||
_logger.LogInformation($"Device:[{_device.DeviceName}],AnalyzeAddress(),Error", ex);
|
||||
_logger.LogInformation($"Device:[{_device}],AnalyzeAddress(),Error", ex);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
@ -555,7 +554,7 @@ namespace DriverModbusMaster
|
||||
catch (Exception ex)
|
||||
{
|
||||
rpcResponse.Description = $"写入失败,[Method]:{method},[Ioarg]:{ioarg},[ex]:{ex}";
|
||||
_logger.LogInformation($"Device:[{_device.DeviceName}],WriteAsync(),Error", ex);
|
||||
_logger.LogInformation($"Device:[{_device}],WriteAsync(),Error", ex);
|
||||
}
|
||||
return rpcResponse;
|
||||
}
|
||||
|
@ -10,7 +10,6 @@
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\PluginInterface\PluginInterface.csproj" />
|
||||
<ProjectReference Include="..\..\..\IoTGateway.Model\IoTGateway.Model.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
@ -5,7 +5,6 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Automation.OPCClient;
|
||||
using IoTGateway.Model;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace DriverOPCDaClient
|
||||
@ -15,7 +14,7 @@ namespace DriverOPCDaClient
|
||||
OPCClientWrapper opcDaClient = null;
|
||||
|
||||
public ILogger _logger { get; set; }
|
||||
private readonly Device _device;
|
||||
private readonly string _device;
|
||||
|
||||
#region 配置参数
|
||||
|
||||
@ -33,12 +32,12 @@ namespace DriverOPCDaClient
|
||||
|
||||
#endregion
|
||||
|
||||
public OPCDaClient(Device device, ILogger logger)
|
||||
public OPCDaClient(string device, ILogger logger)
|
||||
{
|
||||
_device = device;
|
||||
_logger = logger;
|
||||
|
||||
_logger.LogInformation($"Device:[{_device.DeviceName}],Create()");
|
||||
_logger.LogInformation($"Device:[{_device}],Create()");
|
||||
}
|
||||
|
||||
|
||||
|
@ -14,6 +14,5 @@
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\PluginInterface\PluginInterface.csproj" />
|
||||
<ProjectReference Include="..\..\..\IoTGateway.Model\IoTGateway.Model.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
@ -6,7 +6,6 @@ using Opc.Ua;
|
||||
using Opc.Ua.Client;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using IoTGateway.Model;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Opc.Ua.Configuration;
|
||||
using OpcUaHelper;
|
||||
@ -20,7 +19,7 @@ namespace DriverOPCUaClient
|
||||
OpcUaClientHelper opcUaClient = null;
|
||||
|
||||
public ILogger _logger { get; set; }
|
||||
private readonly Device _device;
|
||||
private readonly string _device;
|
||||
#region 配置参数
|
||||
|
||||
[ConfigParameter("设备Id")]
|
||||
@ -37,12 +36,12 @@ namespace DriverOPCUaClient
|
||||
|
||||
#endregion
|
||||
|
||||
public OPCUaClient(Device device, ILogger logger)
|
||||
public OPCUaClient(string device, ILogger logger)
|
||||
{
|
||||
_device = device;
|
||||
_logger = logger;
|
||||
|
||||
_logger.LogInformation($"Device:[{_device.DeviceName}],Create()");
|
||||
_logger.LogInformation($"Device:[{_device}],Create()");
|
||||
}
|
||||
|
||||
|
||||
|
@ -14,6 +14,5 @@
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\PluginInterface\PluginInterface.csproj" />
|
||||
<ProjectReference Include="..\..\..\IoTGateway.Model\IoTGateway.Model.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
@ -3,7 +3,6 @@ using IoTClient.Enums;
|
||||
using PluginInterface;
|
||||
using System;
|
||||
using System.Text;
|
||||
using IoTGateway.Model;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace DriverOmronFins
|
||||
@ -15,7 +14,7 @@ namespace DriverOmronFins
|
||||
private OmronFinsClient plc = null;
|
||||
|
||||
public ILogger _logger { get; set; }
|
||||
private readonly Device _device;
|
||||
private readonly string _device;
|
||||
#region 配置参数
|
||||
|
||||
[ConfigParameter("设备Id")]
|
||||
@ -35,12 +34,12 @@ namespace DriverOmronFins
|
||||
|
||||
#endregion
|
||||
|
||||
public OmronFins(Device device, ILogger logger)
|
||||
public OmronFins(string device, ILogger logger)
|
||||
{
|
||||
_device = device;
|
||||
_logger = logger;
|
||||
|
||||
_logger.LogInformation($"Device:[{_device.DeviceName}],Create()");
|
||||
_logger.LogInformation($"Device:[{_device}],Create()");
|
||||
}
|
||||
|
||||
|
||||
|
@ -9,6 +9,5 @@
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\PluginInterface\PluginInterface.csproj" />
|
||||
<ProjectReference Include="..\..\..\IoTGateway.Model\IoTGateway.Model.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
@ -2,7 +2,6 @@
|
||||
using S7.Net;
|
||||
using System;
|
||||
using System.Text;
|
||||
using IoTGateway.Model;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace DriverSiemensS7
|
||||
@ -19,7 +18,7 @@ namespace DriverSiemensS7
|
||||
private Plc plc = null;
|
||||
|
||||
public ILogger _logger { get; set; }
|
||||
private readonly Device _device;
|
||||
private readonly string _device;
|
||||
#region 配置参数
|
||||
|
||||
[ConfigParameter("设备Id")]
|
||||
@ -48,12 +47,12 @@ namespace DriverSiemensS7
|
||||
|
||||
#endregion
|
||||
|
||||
public SiemensS7(Device device, ILogger logger)
|
||||
public SiemensS7(string device, ILogger logger)
|
||||
{
|
||||
_device = device;
|
||||
_logger = logger;
|
||||
|
||||
_logger.LogInformation($"Device:[{_device.DeviceName}],Create()");
|
||||
_logger.LogInformation($"Device:[{_device}],Create()");
|
||||
}
|
||||
|
||||
|
||||
|
@ -11,6 +11,5 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\PluginInterface\PluginInterface.csproj" />
|
||||
<ProjectReference Include="..\..\..\IoTGateway.Model\IoTGateway.Model.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
@ -2,7 +2,6 @@
|
||||
using SimpleTCP;
|
||||
using System;
|
||||
using System.Text;
|
||||
using IoTGateway.Model;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace DriverSimTcpClient
|
||||
@ -21,7 +20,7 @@ namespace DriverSimTcpClient
|
||||
private byte[] latestRcvData;
|
||||
|
||||
public ILogger _logger { get; set; }
|
||||
private readonly Device _device;
|
||||
private readonly string _device;
|
||||
#region 配置参数
|
||||
|
||||
[ConfigParameter("设备Id")]
|
||||
@ -47,12 +46,12 @@ namespace DriverSimTcpClient
|
||||
|
||||
#endregion
|
||||
|
||||
public SimTcpClient(Device device, ILogger logger)
|
||||
public SimTcpClient(string device, ILogger logger)
|
||||
{
|
||||
_device = device;
|
||||
_logger = logger;
|
||||
|
||||
_logger.LogInformation($"Device:[{_device.DeviceName}],Create()");
|
||||
_logger.LogInformation($"Device:[{_device}],Create()");
|
||||
}
|
||||
|
||||
|
||||
|
@ -85,8 +85,8 @@ namespace Plugin
|
||||
{
|
||||
var settings = DC.Set<DeviceConfig>().Where(x => x.DeviceId == Device.ID).AsNoTracking().ToList();
|
||||
|
||||
Type[] types = new Type[2] { typeof(Device) ,typeof(ILogger) };
|
||||
object[] param = new object[2] { Device , _logger };
|
||||
Type[] types = new Type[2] { typeof(string) ,typeof(ILogger) };
|
||||
object[] param = new object[2] { Device.DeviceName , _logger };
|
||||
|
||||
ConstructorInfo constructor = driver.Type.GetConstructor(types);
|
||||
var DeviceObj = constructor.Invoke(param) as IDriver;
|
||||
|
@ -77,11 +77,12 @@ namespace Plugin
|
||||
{
|
||||
using (var DC = new DataContext(IoTBackgroundService.connnectSetting, IoTBackgroundService.DBType))
|
||||
{
|
||||
var device = DC.Set<Device>().Where(x => x.ID == dapID).AsNoTracking().SingleOrDefault();
|
||||
var driver = DC.Set<Driver>().Where(x => x.ID == DriverId).AsNoTracking().SingleOrDefault();
|
||||
var type = DriverInfos.Where(x => x.Type.FullName == driver.AssembleName).SingleOrDefault();
|
||||
|
||||
Type[] types = new Type[1] { typeof(Guid) };
|
||||
object[] param = new object[1] { Guid.Parse("88888888-8888-8888-8888-888888888888") };
|
||||
Type[] types = new Type[2] { typeof(string), typeof(ILogger) };
|
||||
object[] param = new object[2] { device.DeviceName, _logger };
|
||||
|
||||
ConstructorInfo constructor = type.Type.GetConstructor(types);
|
||||
var iObj = constructor.Invoke(param) as IDriver;
|
||||
|
Loading…
Reference in New Issue
Block a user