using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Interfejs
{
    public class JawnieZaimplementowanyInterfejs
    {
        public JawnieZaimplementowanyInterfejs(JawnaImplementacjaInterfejsu odwołanieDoImplementacji, IProstyInterfejs odwołanieDoInterfejsu)
        {
            // Po usunięciu komentarzy pojawią się błędy kompilacji:
            //var właściwośćInstancji =
            //odwołanieDoImplementacji.TaWłaściwośćLiczbowaWymagaTylkoGettera;
            //odwołanieDoImplementacji.TaMetodaWymagaZaimplementowania();
            //odwołanieDoImplementacji.TaWłaściwośćTekstowaTeżWymagaZaimplementowania = "Cześć!";
            //odwołanieDoImplementacji.InterfejsMożeRównieżZawieraćZdarzenia += ObsługaZdarzenia;

            var właściwośćInterfejsu = odwołanieDoInterfejsu.TaWłaściwośćLiczbowaWymagaTylkoGettera;
            odwołanieDoInterfejsu.TaMetodaWymagaZaimplementowania();
            odwołanieDoInterfejsu.TaWłaściwośćTekstowaTeżWymagaZaimplementowania = "Cześć!";
            odwołanieDoInterfejsu.InterfejsMożeRównieżZawieraćZdarzenia += ObsługaZdarzenia;
        }

        void ObsługaZdarzenia(object sender, EventArgs e)
        {
            
        }
    }
}
