ToolPack1
Changes
Build/ConfigurationTool.dll 0(+0 -0)
Build/ConfigurationTool.pdb 0(+0 -0)
ToolPack1/Console/Program.cs 10(+4 -6)
Details
Build/ConfigurationTool.dll 0(+0 -0)
diff --git a/Build/ConfigurationTool.dll b/Build/ConfigurationTool.dll
index 5321ace..4e2ab37 100644
Binary files a/Build/ConfigurationTool.dll and b/Build/ConfigurationTool.dll differ
Build/ConfigurationTool.pdb 0(+0 -0)
diff --git a/Build/ConfigurationTool.pdb b/Build/ConfigurationTool.pdb
index 41a897b..90a158c 100644
Binary files a/Build/ConfigurationTool.pdb and b/Build/ConfigurationTool.pdb differ
diff --git a/ToolPack1/ConfigurationTool/ConfigurationTool.csproj b/ToolPack1/ConfigurationTool/ConfigurationTool.csproj
index ab29e2f..809f7b2 100644
--- a/ToolPack1/ConfigurationTool/ConfigurationTool.csproj
+++ b/ToolPack1/ConfigurationTool/ConfigurationTool.csproj
@@ -43,10 +43,11 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
+ <Compile Include="CustomSerializer\BaseCustomSerialazible.cs" />
<Compile Include="ConfigEntity.cs" />
<Compile Include="ConfigParams.cs" />
<Compile Include="ConfigurationManager.cs" />
- <Compile Include="ICustomSerialazible.cs" />
+ <Compile Include="CustomSerializer\ICustomSerialazible.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Serializer\BinarySerializer.cs" />
<Compile Include="Serializer\ISerializer.cs" />
diff --git a/ToolPack1/ConfigurationTool/CustomSerializer/BaseCustomSerialazible.cs b/ToolPack1/ConfigurationTool/CustomSerializer/BaseCustomSerialazible.cs
new file mode 100644
index 0000000..9e5f8fb
--- /dev/null
+++ b/ToolPack1/ConfigurationTool/CustomSerializer/BaseCustomSerialazible.cs
@@ -0,0 +1,24 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace ConfigurationTool.CustomSerializer
+{
+ /// <summary>
+ /// Класс используесят для упрощения использования ICustomSerialazible
+ /// </summary>
+ /// <typeparam name="T">Тип, используемый для сериализации</typeparam>
+ public abstract class BaseCustomSerialazible<T> : ICustomSerialazible
+ {
+ public Type SerialazibleType => typeof(T);
+
+ void ICustomSerialazible.Import(object obj) =>
+ Import((T)obj);
+ object ICustomSerialazible.Export() =>
+ Export();
+
+ public abstract T Export();
+ public abstract void Import(T obj);
+ }
+}
diff --git a/ToolPack1/ConfigurationTool/Serializer/BinarySerializer.cs b/ToolPack1/ConfigurationTool/Serializer/BinarySerializer.cs
index 751d3cd..ab74b24 100644
--- a/ToolPack1/ConfigurationTool/Serializer/BinarySerializer.cs
+++ b/ToolPack1/ConfigurationTool/Serializer/BinarySerializer.cs
@@ -7,6 +7,8 @@ using System.Threading.Tasks;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
+using ConfigurationTool.CustomSerializer;
+
namespace ConfigurationTool.Serializer
{
class BinarySerializer<T>
diff --git a/ToolPack1/ConfigurationTool/Serializer/XMLSerializer.cs b/ToolPack1/ConfigurationTool/Serializer/XMLSerializer.cs
index 4262c85..59e43f5 100644
--- a/ToolPack1/ConfigurationTool/Serializer/XMLSerializer.cs
+++ b/ToolPack1/ConfigurationTool/Serializer/XMLSerializer.cs
@@ -7,7 +7,7 @@ using System.Threading.Tasks;
using System.IO;
using System.Xml.Serialization;
-using ConfigurationTool;
+using ConfigurationTool.CustomSerializer;
namespace ConfigurationTool.Serializer
{
ToolPack1/Console/Program.cs 10(+4 -6)
diff --git a/ToolPack1/Console/Program.cs b/ToolPack1/Console/Program.cs
index 0f64c35..20fa769 100644
--- a/ToolPack1/Console/Program.cs
+++ b/ToolPack1/Console/Program.cs
@@ -5,10 +5,11 @@ using System.Text;
using System.Threading.Tasks;
using ConfigurationTool;
+using ConfigurationTool.CustomSerializer;
namespace Console
{
- public class ConfigData : ICustomSerialazible
+ public class ConfigData : BaseCustomSerialazible<ConfigData.ConfigData_Serial>
{
public class ConfigData_Serial
{
@@ -34,9 +35,7 @@ namespace Console
[2]="2"
};
- public Type SerialazibleType => typeof(ConfigData_Serial);
-
- public object Export()
+ public override ConfigData_Serial Export()
=> new ConfigData_Serial()
{
ID = ID,
@@ -51,8 +50,7 @@ namespace Console
)
.ToList()
};
-
- public void Import(object obj)
+ public override void Import(ConfigData_Serial obj)
{
ConfigData_Serial data = (ConfigData_Serial)obj;