tomminno
14-05-2009, 14:38
Vorrei sapere come si possa esporre tramite webservice una gerarchia di classi.
Il mio scopo è realizzare qualcosa di simile a questo:
[Serializable]
public class A
{
public int a;
public List<B> list = new List<B>();
public A()
{ }
}
[Serializable]
public class B
{
public int b;
public B()
{ }
public B(int b)
{
this.b = b;
}
}
[Serializable]
public class C : B
{
public int c;
public C() : base()
{ }
public C(int c) : this(0, c)
{
}
public C(int b, int c) : base(b)
{
this.c = c;
}
}
[Serializable]
public class D : B
{
public int d;
public D()
: base()
{ }
public D(int d)
: this(0, d)
{
}
public D(int b, int d)
: base(b)
{
this.d = d;
}
}
[WebMethod]
public A Test()
{
A a = new A();
a.a = 123;
a.list.Add(new B(456));
a.list.Add(new C(789, 654));
a.list.Add(new D(321, 987));
return a;
}
Il mio scopo è realizzare qualcosa di simile a questo:
[Serializable]
public class A
{
public int a;
public List<B> list = new List<B>();
public A()
{ }
}
[Serializable]
public class B
{
public int b;
public B()
{ }
public B(int b)
{
this.b = b;
}
}
[Serializable]
public class C : B
{
public int c;
public C() : base()
{ }
public C(int c) : this(0, c)
{
}
public C(int b, int c) : base(b)
{
this.c = c;
}
}
[Serializable]
public class D : B
{
public int d;
public D()
: base()
{ }
public D(int d)
: this(0, d)
{
}
public D(int b, int d)
: base(b)
{
this.d = d;
}
}
[WebMethod]
public A Test()
{
A a = new A();
a.a = 123;
a.list.Add(new B(456));
a.list.Add(new C(789, 654));
a.list.Add(new D(321, 987));
return a;
}