From 189dff08a7ebd387a241f2e3c45387f427e4cda7 Mon Sep 17 00:00:00 2001 From: parallelbgls Date: Fri, 19 May 2017 10:41:41 +0800 Subject: [PATCH] Bug Fix --- Modbus.Net/src/Base.Common/BaseProtocal.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Modbus.Net/src/Base.Common/BaseProtocal.cs b/Modbus.Net/src/Base.Common/BaseProtocal.cs index 1ab664a..3873ac5 100644 --- a/Modbus.Net/src/Base.Common/BaseProtocal.cs +++ b/Modbus.Net/src/Base.Common/BaseProtocal.cs @@ -80,10 +80,11 @@ namespace Modbus.Net get { var protocalName = type.FullName; + TProtocalUnit protocalUnitReturn = null; lock (Protocals) { if (Protocals.ContainsKey(protocalName)) - return Protocals[protocalName]; + protocalUnitReturn = Protocals[protocalName]; //自动寻找存在的协议并将其加载 var protocalUnit = Activator.CreateInstance(type.GetTypeInfo().Assembly.GetType(protocalName)) as TProtocalUnit; @@ -92,7 +93,7 @@ namespace Modbus.Net protocalUnit.Endian = Endian; Register(protocalUnit); } - return Protocals[protocalName]; + return protocalUnitReturn ?? Protocals[protocalName]; } }