0
Aşağıdaki gibi bir nesne yazıyorum sonra bunu RootObject r1 = new RootObject() şeklinde create ediyorum.
r1.Boolean = true; dediğimde sorun olmuyor ancak
r1.Boolean.data.a = "test" dediğim zaman NullReferenceException hatası veriyor.
Tamam anlıyorum Data nesnesini create etmeden içine değer atıyormuşum gibi oluyor ama bunlar iç içe nesneler. Çıkamadım işin içinden nası olcak bu iş
public class Datain { public string d { get; set; } public string e { get; set; } } public class Data { public string a { get; set; } public string c { get; set; } public Datain datain { get; set; } } public class RootObject { public bool Boolean { get; set; } public int Number { get; set; } public Data data { get; set; } }
0
Şue şekilde yapabilirsiniz:
RootObject r1 = new RootObject{ data = new Data() };
r1.Boolean = true;
r1.data.a = "uzmanim.net";
Eğer bir nesne içindeki bir property yine nesneden oluşuyorsa, siz bu nesne içindeki herhangi bir property'e değer atamak istiyorsanız önce o nesneyi yaratmalısınız.
RootObject r1 = new RootObject{ data = new Data() };
Bu örnekte RootObject sınıfından(class) r1 adında bir nesne(object) türettim. Bu işlemi yaparken aynı zamanda data property'si için de Data class'ından yeni bir nesne türettim.
Bu şekilde hata vermeyecektir.
0
Teşekkürler cevap için ancak bir sorunum daha var oda eğer nesneler aşağıdaki gibi olursa create etme işi nasıl olacak acaba
aynı mantıkla giderek şu şekilde create ettim ama hata veriyor
verdiği hata :Error 17 'System.Collections.Generic.List<Data>' does not contain a definition for 'Datain'
Result2 r2 = new Result2 { Data = new List<Data> { Datain = new List<Datain>() } };
public class Datain { public string d { get; set; } public string e { get; set; } } public class Data { public string a { get; set; } public string c { get; set; } public List<Datain> datain { get; set; } } public class RootObject { public bool Boolean { get; set; } public int Number { get; set; } public List<Data> data { get; set; } }
Cevap yazabilmek için üye girişi yapmalısınız.
Eğer uzmanim.net üyesiyseniz giriş yapabilirsiniz: üye girişi yap
uzmanim.net'e üye olmak çok kolaydır: hemen kayıt ol