XmlSerializers created by XmlSerializer.FromType(new[] {typeof(...)})[0]; This prevents throwing an exception => better debugging.

This commit is contained in:
Milan Hanajik
2017-06-22 21:37:05 +02:00
parent 7ad8c986d7
commit 17f6f7c3be
193 changed files with 450 additions and 182 deletions
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Network.Adapter
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
return ComponentCfgBase.CreateFromDbEntity(typeof(NetadapterCfg), component, this);
return ComponentCfgBase.CreateFromDbEntity(NetadapterCfg.Serializer, component, this);
}
}
}
@@ -1,12 +1,16 @@
///
/// Copyright (c) 2017 Sensus Metering Systems
///
using System.Xml.Serialization;
using TBF.BenchControl.Generic;
namespace TBF.BenchControl.Network.Adapter
{
public class NetadapterCfg : ComponentCfgBase, Generic.IComponentCfg
{
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(NetadapterCfg) })[0];
protected override XmlSerializer GetSerializer() { return Serializer; }
public IComponentCfgCtrl GetControl() { return new NetadapterCfgCtrl(); }
@@ -3,6 +3,7 @@
///
using System.Net;
using System.Net.Sockets;
using System.Xml.Serialization;
using TBF.BenchControl.Generic;
using TBF.Resources;
@@ -10,6 +11,9 @@ namespace TBF.BenchControl.Network.Camera.CLP1611
{
public class CameraCfg : ComponentCfgBase, IChildComponentCfg
{
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(CameraCfg) })[0];
protected override XmlSerializer GetSerializer() { return Serializer; }
public IComponentCfgCtrl GetControl() { return new CameraCfgCtrl(); }
///
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Network.Camera.CLP1611
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
return ComponentCfgBase.CreateFromDbEntity(typeof(CameraCfg), component, this);
return ComponentCfgBase.CreateFromDbEntity(CameraCfg.Serializer, component, this);
}
}
}
@@ -9,6 +9,9 @@ namespace TBF.BenchControl.Network.Camera.Display
{
public class DisplayCfg : ComponentCfgBase, IComponentCfg
{
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(DisplayCfg) })[0];
protected override XmlSerializer GetSerializer() { return Serializer; }
public IComponentCfgCtrl GetControl() { return new DisplayCfgCtrl(); }
///
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Network.Camera.Display
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
return ComponentCfgBase.CreateFromDbEntity(typeof(DisplayCfg), component, this);
return ComponentCfgBase.CreateFromDbEntity(DisplayCfg.Serializer, component, this);
}
}
}
@@ -20,7 +20,7 @@ namespace TBF.BenchControl.Network.Camera.Roi
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
{
return ComponentCfgBase.CreateFromDbEntity(typeof(RoiCfg), component, this);
return ComponentCfgBase.CreateFromDbEntity(RoiCfg.Serializer, component, this);
}
}
}
@@ -13,6 +13,9 @@ namespace TBF.BenchControl.Network.Camera.Roi
{
public class ProcedureParams : ProcedureParamsBase, IParamsProvider, IProcedureParams
{
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(ProcedureParams) })[0];
protected override XmlSerializer GetSerializer() { return Serializer; }
public float PulsesPerLtr; /// [l^-1]
public int DetectionImagesCount;
public int DetectionPeriod1;
@@ -115,14 +118,13 @@ namespace TBF.BenchControl.Network.Camera.Roi
if (dbEntity == null) return;
try
{
ProcedureParams tmp = (ProcedureParams)(new XmlSerializer(typeof(ProcedureParams)))
.Deserialize(new StringReader(dbEntity.Parameters));
ProcedureParams tmp = Serializer.Deserialize(new StringReader(dbEntity.Parameters)) as ProcedureParams;
procedureParamsEntity = dbEntity;
componentName = dbEntity.CmpntName;
procedure = dbEntity.Procedure;
tmp.CopyContentTo(this);
if (tmp != null) tmp.CopyContentTo(this);
}
catch
{
@@ -9,6 +9,9 @@ namespace TBF.BenchControl.Network.Camera.Roi
{
public class RoiCfg : ComponentCfgBase, IChildComponentCfg
{
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(RoiCfg) })[0];
protected override XmlSerializer GetSerializer() { return Serializer; }
public IComponentCfgCtrl GetControl() { return new RoiCfgCtrl(); }
///