Пример #1
0
        private void btnEiLegen_Click(object sender, EventArgs e)
        {
            IGefluegel huhn = cbxTiere.SelectedItem as IGefluegel;

            huhn?.EiLegen();
            pgdTier.SelectedObject = huhn;
        }
Пример #2
0
        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;
        }
Пример #3
0
        // 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);
                    }
                }
            }
        }