Cara default untuk mengatasinya adalah dengan menggunakan file pengaturan. Masalah dengan file pengaturan adalah Anda harus menentukan semua pengaturan dan menulis kode yang menyalin data sendiri. Cukup membosankan jika Anda memiliki banyak properti yang harus diperhatikan.
Saya membuat pustaka yang cukup fleksibel dan sangat mudah digunakan untuk ini, Anda cukup memberi tahu properti mana dari objek mana yang akan dilacak dan itu melakukan sisanya. Anda dapat mengkonfigurasi omong kosong itu juga jika Anda mau.
Library tersebut bernama Jot (github) , ini adalah artikel CodeProject lama yang saya tulis tentangnya.
Inilah cara Anda menggunakannya untuk melacak ukuran dan lokasi jendela:
public MainWindow()
{
InitializeComponent();
_stateTracker.Configure(this)
.IdentifyAs("MyMainWindow")
.AddProperties(nameof(Height), nameof(Width), nameof(Left), nameof(Top), nameof(WindowState))
.RegisterPersistTrigger(nameof(Closed))
.Apply();
}
Jot vs. file pengaturan: Dengan Jot kode jauh lebih sedikit, dan jauh lebih sedikit rawan kesalahan karena Anda hanya perlu menyebutkan setiap properti satu kali . Dengan file pengaturan, Anda perlu menyebutkan setiap properti 5 kali : sekali ketika Anda secara eksplisit membuat properti dan empat kali tambahan dalam kode yang menyalin nilai bolak-balik.
Penyimpanan, serialisasi, dll sepenuhnya dapat dikonfigurasi. Selain itu, saat menggunakan IOC, Anda bahkan dapat menghubungkannya sehingga menerapkan pelacakan secara otomatis ke semua objek yang diselesaikannya sehingga semua yang perlu Anda lakukan untuk membuat properti persisten adalah memasang atribut [Trackable] di atasnya.
Saya menulis semua ini karena saya pikir perpustakaan itu adalah yang terbaik dan saya ingin berbicara banyak tentangnya.