none
Interface'i Implemente Eden Sınıfları Nasıl Buluruz? RRS feed

  • Soru

  • Arayüzü kullanan sınıfları bulmam gerekiyo ve o sınıfların içersindeki propertylere ulaşmam lazım.

    Nasıl bir yol izleyebilirim?

    Şimdiden yardımınız için teşekkür ederim.


    27 Ekim 2018 Cumartesi 13:06

Yanıtlar

  • Reflection kullanarak o anki assembly'deki tüm sınıfları foreach ile dolaşacaksınız, her bir sınıf için uygulanmış arayüzlere bakıp ilgili arayüzü sağlıyor mu bakacaksınız. Ya da bir DI kütüphanesi kullanacaksınız o sizin için yapacak.


    www.cihanyakar.com

    • Yanıt Olarak İşaretleyen İbrahimÇkl 7 Şubat 2019 Perşembe 13:49
    29 Ekim 2018 Pazartesi 14:36

Tüm Yanıtlar

  • Designtime'da mı? interface'e geçici bir alan ekleyin hepsi sapır sapır hata verecektir. :)


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    27 Ekim 2018 Cumartesi 15:15
    Moderatör
  • Designtime'da mı? interface'e geçici bir alan ekleyin hepsi sapır sapır hata verecektir. :)


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    using System.Drawing;
    
    namespace HesapMakinesi.Interfaces
    {
        public interface IHesaplama
        {
            byte Genişlik { get; set; }
            byte Yukseklik { get; set; }
            string Butonİsmi { get; set; }
            Color ButonRengi { get; set; }
            Color ButonİsimRengi { get; set; }
            int LocacationX { get; set; }
            int LocationY { get; set; }
    
            float Sayi1 { get; set; }
            float Sayi2 { get; set; }
            float IslemYap();
        }
    }


      public class Toplama : IHesaplama
        {
            public float Sayi1 { get; set; }
            public float Sayi2 { get; set; }
    
            public byte Genişlik { get; set; }
            public byte Yukseklik { get; set; }
            public string Butonİsmi { get; set; }
            public Color ButonRengi { get; set; }
            public Color ButonİsimRengi { get; set; }
            public int LocacationX { get; set; }
            public int LocationY { get; set; }
    
            public Toplama()
            {
                Genişlik = 30;
                Yukseklik = 30;
                Butonİsmi = "+";
                ButonRengi = Color.Gray;
                ButonİsimRengi = Color.Black;
                LocacationX = 100;
                LocationY = 100;
            }
            
            public float IslemYap()
            {
                return Sayi1 + Sayi2;
            }
        }

    Toplama sınıfı gibi diğer işlemlerinde ayrı bir sınıfı var.

    Hepsinin ortak interface'i IHesaplama.

    Peki;

            private void Form1_Load(object sender, EventArgs e)
            {
    
            }

    Ben bu blokların arasına ne yazmalıyımki o interface'i kullanan tüm sınıflar otomatik hesaplama makinesine eklensin.

    29 Ekim 2018 Pazartesi 10:15
  • Reflection kullanarak o anki assembly'deki tüm sınıfları foreach ile dolaşacaksınız, her bir sınıf için uygulanmış arayüzlere bakıp ilgili arayüzü sağlıyor mu bakacaksınız. Ya da bir DI kütüphanesi kullanacaksınız o sizin için yapacak.


    www.cihanyakar.com

    • Yanıt Olarak İşaretleyen İbrahimÇkl 7 Şubat 2019 Perşembe 13:49
    29 Ekim 2018 Pazartesi 14:36