천호석
2022-06-17 4de9ea98e13449174aa2cd09c8351fc0e978f44a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
using System;
using System.IO;
using System.Xml.Serialization;
 
namespace SHARP_CLAS_UI
{
    public class Xml_Manager<T> where T : class
    {
        #region Construct
        public Xml_Manager()
        {
 
        }
 
        #endregion
 
        #region Function
        public void Save_File(string file_path, T data)
        {
            try
            {
                XmlSerializer xml_serial = new XmlSerializer(typeof(T));
 
                using (TextWriter text_writer = new StreamWriter(file_path))
                {
                    xml_serial.Serialize(text_writer, data);
                    text_writer.Close();
                }
            }
            catch(Exception e)
            {
 
            }
        }
 
        public bool Try_Save_File(string file_path, T data)
        {
            try
            {
                XmlSerializer xml_serial = new XmlSerializer(typeof(T));
 
                using (TextWriter text_writer = new StreamWriter(file_path))
                {
                    xml_serial.Serialize(text_writer, data);
                    text_writer.Close();
                }
 
                return true;
            }
            catch (Exception e)
            {
                return false;
            }
        }
 
        public T Read_File(string file_path)
        {
            try
            {
                T data;
                XmlSerializer xml_serial = new XmlSerializer(typeof(T));
 
                using (TextReader text_reader = new StreamReader(file_path))
                {
                    data = (T)xml_serial.Deserialize(text_reader);
                    text_reader.Close();
                }
 
                return data;
            }
            catch (Exception e)
            {
                return null;
            }
        }
 
        public bool Try_Read_File(string file_path, out T data)
        {
            try
            {
                XmlSerializer xml_serial = new XmlSerializer(typeof(T));
 
                using (TextReader text_reader = new StreamReader(file_path))
                {
                    data = (T)xml_serial.Deserialize(text_reader);
                    text_reader.Close();
                }
 
                return true;
            }
            catch (Exception)
            {
                data = null;
 
                return false;
            }
        }
 
        public static bool Try_Save_Data(string file_path, T data)
        {
            try
            {
                XmlSerializer xml_serial = new XmlSerializer(typeof(T));
 
                using (TextWriter text_writer = new StreamWriter(file_path))
                {
                    xml_serial.Serialize(text_writer, data);
                    text_writer.Close();
                }
 
                return true;
            }
            catch (Exception)
            {
                return false;
            }
        }
 
        public static bool Try_Read_Data(string file_path, out T data)
        {
            try
            {
                XmlSerializer xml_serial = new XmlSerializer(typeof(T));
 
                using (TextReader text_reader = new StreamReader(file_path))
                {
                    data = (T)xml_serial.Deserialize(text_reader);
                    text_reader.Close();
                }
 
                return true;
            }
            catch (Exception)
            {
                data = null;
 
                return false;
            }
        }
        #endregion
    }
}