public void Deconstruct() { var person = new PersonP("Bill", "Wagner"); var(lastName, firstName) = person; Equal(lastName, "Bill"); Equal(firstName, "Wagner"); }
public void WithExpression() { var person = new PersonP("Bill", "Wagner"); var person2 = person with { FirstName = "Thomas" }; Equal(person2.FirstName, "Thomas"); Equal(person2.LastName, "Wagner"); var personClone = person with { }; Equal(person, personClone); NotStrictEqual(person, personClone); }
private void Btn_Employee_Add(object sender, RoutedEventArgs e) { Person person; switch (SelectedMain) { case Firma f: person = new PersonF() { PartOf = f }; f.Employee.Add((PersonF)person); break; case Divizia d: person = new PersonD() { PartOf = d }; d.Employee.Add((PersonD)person); break; case Projekt p: person = new PersonP() { PartOf = p }; p.Employee.Add((PersonP)person); break; case Oddelenie o: person = new PersonO() { PartOf = o }; o.Employee.Add((PersonO)person); break; default: throw new ArgumentOutOfRangeException(); } _db.SaveChanges(); _mainWindow.Show(person); }
public static void RunTypeСonversions() { //Object obj = new Object(); //Boolean b1 = (obj is Object); //проверяем, является ли переменная person объектом типа Employee(нет) PersonP person = new PersonP(); //1 (никогда не генерирует исключения{только null}) Employee employee = person as Employee; if (employee == null) { Console.WriteLine("No :-("); } else { Console.WriteLine("Yes :-)"); } //2 try { employee = (Employee)person; Console.WriteLine("Yes :-)"); } catch (InvalidCastException ex) { Console.WriteLine(ex.Message); } //3 (true/false) if (person is Employee) { employee = (Employee)person; Console.WriteLine("Yes :-)"); } else { Console.WriteLine("преобразование недопустимо"); } }