XmlMembersMapping.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. //
  2. // System.Xml.Serialization.XmlMembersMapping
  3. //
  4. // Author:
  5. // Tim Coleman ([email protected])
  6. // Lluis Sanchez Gual ([email protected])
  7. //
  8. // Copyright (C) Tim Coleman, 2002
  9. //
  10. using System.Reflection;
  11. namespace System.Xml.Serialization {
  12. public class XmlMembersMapping : XmlMapping {
  13. string _elementName;
  14. string _namespace;
  15. bool _hasWrapperElement;
  16. XmlMemberMapping[] _mapping;
  17. internal XmlMembersMapping ()
  18. {
  19. }
  20. internal XmlMembersMapping (XmlMemberMapping[] mapping): this ("", null, false, mapping)
  21. {
  22. }
  23. internal XmlMembersMapping (string elementName, string ns, XmlMemberMapping[] mapping): this (elementName, ns, true, mapping)
  24. {
  25. }
  26. internal XmlMembersMapping (string elementName, string ns, bool hasWrapperElement, XmlMemberMapping[] mapping)
  27. {
  28. _elementName = elementName;
  29. _namespace = ns;
  30. _hasWrapperElement = hasWrapperElement;
  31. _mapping = mapping;
  32. ClassMap map = new ClassMap ();
  33. foreach (XmlMemberMapping mm in mapping)
  34. map.AddMember (mm.TypeMapMember);
  35. ObjectMap = map;
  36. }
  37. #region Properties
  38. public int Count {
  39. get { return _mapping.Length; }
  40. }
  41. public string ElementName {
  42. get { return _elementName; }
  43. }
  44. public XmlMemberMapping this [int index] {
  45. get { return _mapping[index]; }
  46. }
  47. public string Namespace {
  48. get { return _namespace; }
  49. }
  50. public string TypeName {
  51. [MonoTODO]
  52. get { throw new NotImplementedException (); }
  53. }
  54. public string TypeNamespace {
  55. [MonoTODO]
  56. get { throw new NotImplementedException (); }
  57. }
  58. internal bool HasWrapperElement {
  59. get { return _hasWrapperElement; }
  60. }
  61. #endregion // Properties
  62. }
  63. }