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?
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.
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.