public class Test
{
private InnerTest innerTest;
private int testNumber;
public Test()
{
this.innerTest = new InnerTest();
this.testNumber = 5;
}
public int TestNumber1
{
get { return this.testNumber; }
set { this.testNumber = value;}
}
public InnerTest InnerTest
{
get { return this.innerTest; }
set { this.innerTest = value;}
}
}
public struct InnerTest
{
private int number;
public InnerTest(int number)
{
this.number = number;
}
public int Number{get { return number; }}
}
[DataMember]
public int TestNumber1
{
get { return this.testNumber; }
set { this.testNumber = value;}
}
// note **not** a data-member
public InnerTest InnerTest
{
get { return this.innerTest; }
set { this.innerTest = value;}
}
[DataMember]
private int InnerTestValue
{
get {return innerTest.Number;}
set {innerTest = new InnerTest(value);}
}
Test test = new Test { TestNumber1 = 5 };
XmlSerializer xmlSer = new XmlSerializer(typeof(Test));
MemoryStream memStm = new MemoryStream();
xmlSer.Serialize(memStm, test);
StreamReader stmR = new StreamReader(memStm);
memStm.Position = 0;
string output = stmR.ReadToEnd();