Saya sedang mengerjakan daftar font yang saya serialisasi dan deserialisasi menggunakan DataContractSerializer
. Di antara dua langkah tersebut, dapat dibayangkan bahwa pengguna telah menghapus font dari mesin mereka. Saya ingin memeriksa nama font yang sedang dideserialisasi untuk memastikan bahwa nama font tersebut masih ada di sistem. Jika tidak ada, elemen tersebut tidak disertakan dalam koleksi yang dikembalikan oleh DataContractSerializer.ReadObject()
.
Secara khusus, saya menyimpan FontFamily
dan membuat serial properti yang mendapat FontFamily.Name
. Di set pengakses properti ini, saya mengonversi string kembali menjadi FontFamily
.
Satu-satunya alternatif validasi yang masuk akal yang dapat saya pikirkan adalah meminta pengakses properti mengabaikan nilai yang tidak valid, dan memfilter objek deserialisasi yang tidak valid nanti. Namun saya tidak menyukai opsi ini - apakah ada cara yang lebih tepat?