Çözüldü C# String'den class oluşturma

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

486759

Hectopat
Katılım
21 Nisan 2020
Mesajlar
1.123
Çözümler
7
String ile class ismini nasıl özdeştirebilirim? Yapmak istediğim olay, tek bir buton üzerinden string parametresi ile farklı isimdeki classları oluşturmak.

Örneğin: MainPage mainPage = new MainPage();

Ben üstteki "MainPage" kelimesini string olarak atayarak nasıl class olarak çağırabilirim?
 
Çözüm
Java'da bu şekilde yapılabiliyor. Reflection olarak geçer. Çok büyük ihtimal .NET karşılığı vardır.
Java:
Object o = Class.forName("Sınıf_İsmi").newInstance();

Eğer oluşturulacak sınıflar belli ise her sınıfın bir Prototype'ını oluşuturup Dictionary<String, Object> olarak class ismi, prototype nesnesi olarak tutup. Dictionary'den çektikten sonra Clone diyerek nesne oluşturabilirsiniz.

Veya. Factory methodları oluşturup. <String, Action> tipinde bir Dictionary oluşturup. Clone vs. ile uğraşmadan doğrudan Action içerisinde ilgi nesnenin factory methodunu tutup. Invoke() diyerek nesneyi sıfırdan oluşturabilirsiniz.

Çözüm çok. Belki çok daha basit yolları vardır.
Java'da bu şekilde yapılabiliyor. Reflection olarak geçer. Çok büyük ihtimal .NET karşılığı vardır.
Java:
Object o = Class.forName("Sınıf_İsmi").newInstance();

Eğer oluşturulacak sınıflar belli ise her sınıfın bir Prototype'ını oluşuturup Dictionary<String, Object> olarak class ismi, prototype nesnesi olarak tutup. Dictionary'den çektikten sonra Clone diyerek nesne oluşturabilirsiniz.

Veya. Factory methodları oluşturup. <String, Action> tipinde bir Dictionary oluşturup. Clone vs. ile uğraşmadan doğrudan Action içerisinde ilgi nesnenin factory methodunu tutup. Invoke() diyerek nesneyi sıfırdan oluşturabilirsiniz.

Çözüm çok. Belki çok daha basit yolları vardır.
 
Çözüm

Geri
Yukarı