XmlMemberMapping.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. //
  2. // System.Xml.Serialization.XmlMemberMapping
  3. //
  4. // Author:
  5. // Tim Coleman ([email protected])
  6. // Lluis Sanchez Gual ([email protected])
  7. //
  8. // Copyright (C) Tim Coleman, 2002
  9. //
  10. namespace System.Xml.Serialization
  11. {
  12. public class XmlMemberMapping {
  13. XmlTypeMapMember _mapMember;
  14. string _elementName;
  15. string _memberName;
  16. string _namespace;
  17. string _typeNamespace;
  18. internal XmlMemberMapping (string memberName, XmlTypeMapMember mapMem)
  19. {
  20. _mapMember = mapMem;
  21. _memberName = memberName;
  22. if (mapMem is XmlTypeMapMemberElement)
  23. {
  24. XmlTypeMapElementInfo info = (XmlTypeMapElementInfo) ((XmlTypeMapMemberElement)mapMem).ElementInfo[0];
  25. _elementName = info.ElementName;
  26. _namespace = info.Namespace;
  27. if (info.MappedType != null) _typeNamespace = info.MappedType.Namespace;
  28. else _typeNamespace = "";
  29. }
  30. else
  31. {
  32. _elementName = _memberName;
  33. _namespace = "";
  34. }
  35. }
  36. #region Properties
  37. public bool Any {
  38. get { return _mapMember is XmlTypeMapMemberAnyElement; }
  39. }
  40. public string ElementName {
  41. get { return _elementName; }
  42. }
  43. public string MemberName {
  44. get { return _memberName; }
  45. }
  46. public string Namespace {
  47. get { return _namespace; }
  48. }
  49. public string TypeFullName {
  50. get { return _mapMember.TypeData.FullTypeName; }
  51. }
  52. public string TypeName {
  53. get { return _mapMember.TypeData.XmlType; }
  54. }
  55. public string TypeNamespace {
  56. get { return _typeNamespace; }
  57. }
  58. internal XmlTypeMapMember TypeMapMember {
  59. get { return _mapMember; }
  60. }
  61. #endregion // Properties
  62. }
  63. }