ho 2 classi:Passo oggetto con la proprietà complesso con servizio web
public class testClass1
{
public string Name { get; set; }
public testClass2 testClass2Object { get; set; }
}
public class testClass2
{
public testClass2() { }
public testClass2(int i) { TestProperty = i; }
public int TestProperty { get; set; }
}
e voglio tornare all'oggetto prima della classe con webMethod
:
[WebMethod]
public testClass1 testMethod()
{
testClass1 test = new testClass1();
test.Name = "stackoverflow";
test.testClass2Object = new testClass2(2);
return test;
}
ma non ottengo i valori di testClass2
proprietà dell'oggetto testClass1
.
Ho provato le annotazioni [Serializable] [XmlInclude(typeof(testClass2))]
ma non è cambiato nulla. Eventuali suggerimenti?
Cosa succede se si rimuove il costruttore 'public testClass2 (int i)'? E se modificassi la dichiarazione in 'public testClass2 (int testProperty)'? (Chiedo il secondo perché so che i nomi effettivi dei parametri dei ctor possono influenzare la serializzazione JSON, non sono sicuro che ciò influenzerà comunque la serializzazione). –
@Matthew Watson Removed constructor e ora funziona grazie. – pepela
@Matthew Watson Non posso avere costruttore con parametro se voglio inviarlo oggetto? – pepela