Çok basit bir kitap örneğidir. İnterface dediğin için böyle bir örnek yaptım. Taviyeyem SuperType ile yapılmasıdır (Yani interface değil de class lar birbirinden kalıtım alarak yapılması)

   interface ICalisan
    {
        int Id { get; set; }
        string Ad { get; set; }
        string Soyad { get; set; }
        DateTime DogunTarihi { get; set; }
    }

    interface IMudur : ICalisan
    {
        List<ICalisan> Calisanlar();

    }

    interface IGenelMudur: IMudur
    {
        List<IMudur> Mudurler();
    }

    class GenelMudur:IGenelMudur
    {
        public int Id { get; set; }
        public string Ad { get; set; }
        public string Soyad { get; set; }
        public DateTime DogunTarihi { get; set; }
        public List<ICalisan> Calisanlar()
        {
            throw new NotImplementedException();
        }

        public List<IMudur> Mudurler()
        {
            throw new NotImplementedException();
        }
    }