private void btnEiLegen_Click(object sender, EventArgs e) { IGefluegel huhn = cbxTiere.SelectedItem as IGefluegel; huhn?.EiLegen(); pgdTier.SelectedObject = huhn; }
private void btnFuettern_Click(object sender, EventArgs e) { IGefluegel huhn = cbxTiere.SelectedItem as IGefluegel; // SafeCast: Liefert null, wenn Cast fehlschlägt if (huhn != null) { huhn.Fressen(); pgdTier.SelectedObject = huhn; } // Umgang mit Nullables //int? a = null; //System.Nullable<int> b = null; //int c = (a.HasValue ? a.Value : -1); //int d = a ?? -1; }
// Speichern private void button2_Click(object sender, EventArgs e) { IGefluegel tier = cbxTiere.SelectedItem as IGefluegel; if (tier != null) { // Speicherort abfragen SaveFileDialog fileDialog = new SaveFileDialog() { Filter = "Hühner|*.hn|Gänse|*.gs|Alles|*.*", FilterIndex = 0 }; if (fileDialog.ShowDialog() == DialogResult.OK) { using (StreamWriter writer = new StreamWriter(fileDialog.FileName)) { // Tier dort speichern (Serialisierung) XmlSerializer serializer = new XmlSerializer(tier.GetType()); serializer.Serialize(writer, tier); } } } }