C# Dinamik olarak Class ın Propertylerine Erişim

public class ApplicationSettings
    {
        public string ApplicationName { get; set; }
        public string DbConnectionString { get; set; }
        public string ServerConnectString { get; set; }
        public string MapInfoWorkspaceName { get; set; }
        public string MapInfoDataPath { get; set; }
        public ApplicationSettings()
        {
            this.ApplicationName = "Deneme";
            this.DbConnectionString = "Veritabanı Bağlantı Cümlesi";
            this.ServerConnectString = "Veritabanı Bağlantı Cümlesi";
            this.MapInfoWorkspaceName = "XXX";
            this.MapInfoDataPath = "Data yolu";
        }
    }



şeklinde tanımlanmış bir classın property lerine ve bu propertylere atanmış değerlere aşağıdaki kod ile erişebiliriz.

ApplicationSettings app = new ApplicationSettings();
foreach (var item in app.GetType().GetProperties())
                {
                    string _name=item.Name;
                    string _value= item.GetValue(app, null).ToString();
                }


Aynı clasın propertylerine değer ataması yapmak için ise aşağıdaki yöntem kullanılabilir.( Bu işlemler Framework 4.5 de denenmiştir.)

foreach (var item in app.GetType().GetProperties())
                {
                    item.SetValue(app, "Ömer");
                }

Add comment

Loading