Guest User

Untitled

a guest
Jun 17th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.82 KB | None | 0 0
  1. [ServiceContract]
  2. public interface IShapeTest
  3. {
  4. [OperationContract]
  5. AbsShape EchoShape(AbsShape shape);
  6. }
  7.  
  8. public class ShapeTestImpl : IShapeTest
  9. {
  10. public AbsShape EchoShape(AbsShape shape)
  11. {
  12. return shape;
  13. }
  14. }
  15.  
  16. [KnownType(typeof(Square))]
  17. public abstract class AbsShape
  18. {
  19. [DataMember]
  20. public int numSides;
  21. }
  22.  
  23. public class Square : AbsShape
  24. {
  25. public Square() : base()
  26. {
  27. numSides = 4;//set the numSides to 'prove' it works
  28. }
  29. }
  30.  
  31. <xs:complexType name="AbsShape" abstract="true"> <!--NOTE abstract="true"-->
  32. <xs:sequence>
  33. <xs:element minOccurs="0" name="numSides" type="xs:int"/>
  34. </xs:sequence>
  35. </xs:complexType>
  36.  
  37. <xs:complexType name="AbsShape"> <!--NOTE the lack of abstract="true"-->
  38. <xs:sequence>
  39. <xs:element minOccurs="0" name="numSides" type="xs:int"/>
  40. </xs:sequence>
  41. </xs:complexType>
Add Comment
Please, Sign In to add comment