Etrafımda arama yapıyorum ama aradığım şeyi bulamıyorum, bu yüzden buraya bir bakalım.C# WPF Özellik ayarlama yöntemi dinamik olarak nasıl ayarlanır?
Durum: MainWindow ve MainWindowData sınıfına sahibim. MainWindowData'da, yalnızca UpdateGUI özniteliğiyle tanımlanan genel özellikler bulunur.
public class UpdateGUI : Attribute { }
public class MainWindowData
{
[UpdateGUI]
public string TESTVAR { get; set; }
}
Artık, MainWindowData'daki her özelliğin ayarlayıcı yöntemine bir yöntem eklemek istiyorum. Daha spesifik: Ben MainWindow yapıcı tüm UpdateGUI özelliklerini getirir ve sonra bir şekilde kendisine başka bir yöntem ekleyin ama takıldım budur düşündüm
void OnPropertyChanged(String PropertyName);
. Ben çalışan tüm özellikleri getirme için bu kodu kullanın: Bu bana güncellemek için gereken tüm özelliklerin güzel bir listesini verir
List<PropertyInfo> properties = (from pi in typeof(MainWindowData).GetProperties()
where pi.GetCustomAttributes(typeof(UpdateGUI), false).Any()
select pi).ToList();
.
Yani soru şu:
için:
[UpdateGUI]
private string _TESTVAR;
public string TESTVAR {
get {
return _TESTVAR;
}
set {
_TESTVAR = value;
OnPropertyChanged("TESTVAR");
}
}
herhangi bir yardım için teşekkür ederiz özellikleri dinamik dönüştürdü olsun ki onu nasıl yapabilirsiniz! Bu son derece takdir edilecektir :)
Selamlamaları
Eğer Aspect Oriented Programlama (AOP) kavramında çözülmüştür arıyorsun
1 İlginç bir soru, bu çıkıyor ne görmek güzel olacak. –