Ana sınıfın bir polimorfik çocuk nesnesinin örneğine sahip olmasıyla, json'dan/C# sınıflarına serileştirme/serileştirme yapabilmekteyiz. Bunu yapmak Json.Net'in TypeNameHandling.Auto ayarını kullanarak kolaydır. Ancak, "$ type" alanı olmadan bunu yapmak isteriz.Json.Net Polimorfik Çocuk Nesnesiyle Türün Serileştirilmesi
İlk düşünce, "$ türünü", bizim seçtiğimiz bir değere yeniden adlandırabilmemiz ve türün değerini alt türlerin düzgün şekilde eşleştireceği bir enum olması. Bunu bir seçenek olarak görmedim, ancak mümkün olup olmadığını öğrenmekten memnun olurum.
İkinci düşünce aşağıdaki satırlarda oldu ... Aşağıda, üst düzey sınıfın, alt nesnede (SubTypeData) ne tür veriler içerdiği konusunda bir gösterge (SubTypeType) olan ilk sınıf geçiştir. Json.Net belgelerine bir miktar kazdım ve birkaç şey denedim ama hiç şansım olmadı.
Şu anda veri tanımı üzerinde tam denetime sahibiz, ancak dağıtıldıktan sonra işler kilitleniyor.
public class MainClass
{
public SubType SubTypeType { get; set; }
public SubTypeClassBase SubTypeData { get; set; }
}
public class SubTypeClassBase
{
}
public class SubTypeClass1 : SubTypeClassBase
{
public string AaaField { get; set; }
}
public class SubTypeClass2 : SubTypeClassBase
{
public string ZzzField { get; set; }
}
ben yapmaya çalıştığım tam olarak ne bu! – GaTechThomas
Teşekkür ederiz! Sonsuz yineleme kısmı beni öldürüyordu! –