static void Main(string[] args) { /* * <?xml version="1.0" encoding="utf-8"?> * <Employee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> * <EmployeeId>42</EmployeeId> * <FirstName>John</FirstName> * <LastName>Doe</LastName> * </Employee> */ { var employee = new v1.Employee { EmployeeId = 42, FirstName = "John", LastName = "Doe" }; var path = Path.Combine(Path.GetTempPath(), "employee1.xml"); Serializer <v1.Employee> .Serialize(employee, path); var result = Serializer <v1.Employee> .Deserialize(path); Console.WriteLine(File.ReadAllText(path)); File.Delete(path); } /* * <?xml version="1.0" encoding="utf-8"?> * <employee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" id="42"> * <firstName>John</firstName> * <lastName>Doe</lastName> * </employee> */ { var employee = new Employee { EmployeeId = 42, FirstName = "John", LastName = "Doe" }; var path = Path.Combine(Path.GetTempPath(), "employee1.xml"); Serializer <Employee> .Serialize(employee, path); var result = Serializer <Employee> .Deserialize(path); Console.WriteLine(File.ReadAllText(path)); File.Delete(path); } /* * <?xml version="1.0" encoding="utf-8"?> * <employee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" id="42"> * <firstName>John</firstName> * <lastName>Doe</lastName> * </employee> * <?xml version="1.0" encoding="utf-8"?> * <Department xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Id="102"> * <Name>IT</Name> * </Department> */ { var employee = new Employee { EmployeeId = 42, FirstName = "John", LastName = "Doe" }; var department = new Department { Id = 102, Name = "IT" }; var path = Path.Combine(Path.GetTempPath(), "employee2.xml"); using (var wr = File.CreateText(path)) { Serializer <Employee> .Serialize(employee, wr); wr.WriteLine(); Serializer <Department> .Serialize(department, wr); } Console.WriteLine(File.ReadAllText(path)); File.Delete(path); } /* * <?xml version="1.0" encoding="utf-8"?> * <Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="1"> * <Employee id="42"> * <firstName>John</firstName> * <lastName>Doe</lastName> * </Employee> * <Department Id="102"> * <Name>IT</Name> * </Department> * </Data> */ { var data = new Data() { Version = 1, Employee = new Employee { EmployeeId = 42, FirstName = "John", LastName = "Doe" }, Department = new Department { Id = 102, Name = "IT" } }; var path = Path.Combine(Path.GetTempPath(), "employee3.xml"); using (var wr = File.CreateText(path)) { Serializer <Data> .Serialize(data, wr); } Console.WriteLine(File.ReadAllText(path)); File.Delete(path); } /* * <?xml version="1.0" encoding="utf-8"?> * <Data Version="1"> * <employee id="42"> * <firstName>John</firstName> * <lastName>Doe</lastName> * </employee> * <Department Id="102"> * <Name>IT</Name> * </Department> * </Data> */ { var employee = new Employee { EmployeeId = 42, FirstName = "John", LastName = "Doe" }; var department = new Department { Id = 102, Name = "IT" }; var path = Path.Combine(Path.GetTempPath(), "employee4.xml"); var settings = new XmlWriterSettings { Encoding = Encoding.UTF8, Indent = true }; var namespaces = new XmlSerializerNamespaces(); namespaces.Add(string.Empty, string.Empty); using (var wr = XmlWriter.Create(path, settings)) { wr.WriteStartDocument(); wr.WriteStartElement("Data"); wr.WriteStartAttribute("Version"); wr.WriteValue(1); wr.WriteEndAttribute(); var employeeSerializer = new XmlSerializer(typeof(Employee)); employeeSerializer.Serialize(wr, employee, namespaces); var depSerializer = new XmlSerializer(typeof(Department)); depSerializer.Serialize(wr, department, namespaces); wr.WriteEndElement(); wr.WriteEndDocument(); } Console.WriteLine(File.ReadAllText(path)); var rdsettings = new XmlReaderSettings() { IgnoreComments = true, IgnoreWhitespace = true }; using (var rd = XmlReader.Create(path, rdsettings)) { string indent = string.Empty; while (rd.Read()) { switch (rd.NodeType) { case XmlNodeType.Element: Console.Write($"{indent}{{ {rd.Name} : "); indent = indent + " "; while (rd.MoveToNextAttribute()) { Console.WriteLine(); Console.WriteLine($"{indent}{{ {rd.Name} : {rd.Value} }}"); } break; case XmlNodeType.Text: Console.Write(rd.Value); break; case XmlNodeType.EndElement: indent = indent.Remove(0, 2); Console.WriteLine($"{indent}}}"); break; default: Console.WriteLine($"[{rd.Name} {rd.Value}]"); break; } } } File.Delete(path); } }
static void Main(string[] args) { // classes { v1.Employee obj = new v1.Employee(); obj.EmployeeId = 1; obj.FirstName = "John"; obj.LastName = "Doe"; } { v2.Employee obj = new v2.Employee(1); obj.FirstName = "John"; obj.LastName = "Doe"; } { v1.Employee obj1 = new v1.Employee(); obj1.EmployeeId = 1; v1.Employee obj2 = obj1; obj2.FirstName = "John"; // obj1.FirstName == "John" obj2.LastName = "Doe"; // obj1.LastName == "Doe" } // constructors { v3.Employee obj = new v3.Employee(1, "John", "Doe"); string fullName = obj.GetEmployeeName(); Console.WriteLine("Employee ID is: {0}", obj.EmployeeId); Console.WriteLine("The full name of employee is: {0}", fullName); } { v1.Employee obj = new v1.Employee() { EmployeeId = 1, FirstName = "John", LastName = "Doe" }; } // properties { v5.Employee obj = new v5.Employee(); obj.EmployeeId = 1; obj.FirstName = "John"; obj.LastName = "Doe"; Console.WriteLine($"{obj.EmployeeId} - {obj.LastName}, {obj.FirstName}"); } { v11.Employee obj = new v11.Employee() { FirstName = "John", LastName = "Doe" }; Console.WriteLine($"{obj.EmployeeId} - {obj.LastName}, {obj.FirstName}"); } { v13.Employee obj = new v13.Employee(); } // indexers { v14.Employee obj = new v14.Employee() { EmployeeId = 1, FirstName = "John", LastName = "Doe" }; obj.Roles[1] = "Dev"; obj.Roles[3] = "SA"; for (int i = 1; i <= 3; ++i) { try { Console.WriteLine($"Project {i}: role is {obj.Roles[i]}"); } catch (Exception ex) { Console.WriteLine(ex.Message); } } } // static { v16.Employee obj1 = v16.Employee.Create("John", "Doe"); v16.Employee obj2 = v16.Employee.Create("Jane", "Doe"); Console.WriteLine($"{obj1.EmployeeId} {obj1.FirstName}"); Console.WriteLine($"{obj2.EmployeeId} {obj2.FirstName}"); } { var lbs = MassConverters.KgToPound(42.5); var kgs = MassConverters.PoundToKg(180); } { v17.Employee obj1 = v17.Employee.Create("John", "Doe"); v17.Employee obj2 = v17.Employee.Create("Jane", "Doe"); Console.WriteLine($"{obj1.EmployeeId} {obj1.FirstName}"); Console.WriteLine($"{obj2.EmployeeId} {obj2.FirstName}"); } // ref params { int num1 = 10; int num2 = 20; Console.WriteLine($"Before swapping: num1={num1}, num2={num2}"); Swap(ref num1, ref num2); Console.WriteLine($"After swapping: num1={num1}, num2={num2}"); } { v8.Employee e1 = new v8.Employee(1, "John", "Doe"); Project proj = new Project("Demo", e1); Console.WriteLine(proj); ref v8.Employee owner = ref proj.GetOwner(); owner = new v8.Employee(2, "Jane", "Doe"); Console.WriteLine(proj); }