1 //------------------------------------------------------------------------------ 2 // <copyright file="XmlMemberMapping.cs" company="Microsoft"> 3 // Copyright (c) Microsoft Corporation. All rights reserved. 4 // </copyright> 5 // <owner current="true" primary="true">Microsoft</owner> 6 //------------------------------------------------------------------------------ 7 8 namespace System.Xml.Serialization { 9 10 using System.Reflection; 11 using System; 12 using System.CodeDom; 13 using System.CodeDom.Compiler; 14 15 /// <include file='doc\XmlMemberMapping.uex' path='docs/doc[@for="XmlMemberMapping"]/*' /> 16 /// <internalonly/> 17 public class XmlMemberMapping { 18 MemberMapping mapping; 19 XmlMemberMapping(MemberMapping mapping)20 internal XmlMemberMapping(MemberMapping mapping) { 21 this.mapping = mapping; 22 } 23 24 internal MemberMapping Mapping { 25 get { return mapping; } 26 } 27 28 internal Accessor Accessor { 29 get { return mapping.Accessor; } 30 } 31 32 /// <include file='doc\XmlMemberMapping.uex' path='docs/doc[@for="XmlMemberMapping.Any"]/*' /> 33 public bool Any { 34 get { return Accessor.Any; } 35 } 36 37 /// <include file='doc\XmlMemberMapping.uex' path='docs/doc[@for="XmlMemberMapping.ElementName"]/*' /> 38 /// <devdoc> 39 /// <para>[To be supplied.]</para> 40 /// </devdoc> 41 public string ElementName { 42 get { return Accessor.UnescapeName(Accessor.Name); } 43 } 44 45 /// <include file='doc\XmlMemberMapping.uex' path='docs/doc[@for="XmlMemberMapping.XsdElementName"]/*' /> 46 /// <devdoc> 47 /// <para>[To be supplied.]</para> 48 /// </devdoc> 49 public string XsdElementName { 50 get { return Accessor.Name; } 51 } 52 53 /// <include file='doc\XmlMemberMapping.uex' path='docs/doc[@for="XmlMemberMapping.Namespace"]/*' /> 54 /// <devdoc> 55 /// <para>[To be supplied.]</para> 56 /// </devdoc> 57 public string Namespace { 58 get { return Accessor.Namespace; } 59 } 60 61 /// <include file='doc\XmlMemberMapping.uex' path='docs/doc[@for="XmlMemberMapping.MemberName"]/*' /> 62 /// <devdoc> 63 /// <para>[To be supplied.]</para> 64 /// </devdoc> 65 public string MemberName { 66 get { return mapping.Name; } 67 } 68 69 /// <include file='doc\XmlMemberMapping.uex' path='docs/doc[@for="XmlMemberMapping.TypeName"]/*' /> 70 /// <devdoc> 71 /// <para>[To be supplied.]</para> 72 /// </devdoc> 73 public string TypeName { 74 get { return Accessor.Mapping != null ? Accessor.Mapping.TypeName : String.Empty; } 75 } 76 77 /// <include file='doc\XmlMemberMapping.uex' path='docs/doc[@for="XmlMemberMapping.TypeNamespace"]/*' /> 78 /// <devdoc> 79 /// <para>[To be supplied.]</para> 80 /// </devdoc> 81 public string TypeNamespace { 82 get { return Accessor.Mapping != null ? Accessor.Mapping.Namespace : null; } 83 } 84 85 /// <include file='doc\XmlMemberMapping.uex' path='docs/doc[@for="XmlMemberMapping.TypeFullName"]/*' /> 86 /// <devdoc> 87 /// <para>[To be supplied.]</para> 88 /// </devdoc> 89 public string TypeFullName { 90 get { return mapping.TypeDesc.FullName; } 91 } 92 93 /// <include file='doc\XmlMemberMapping.uex' path='docs/doc[@for="XmlMemberMapping.CheckSpecified"]/*' /> 94 /// <devdoc> 95 /// <para>[To be supplied.]</para> 96 /// </devdoc> 97 public bool CheckSpecified { 98 get { return mapping.CheckSpecified != SpecifiedAccessor.None; } 99 } 100 101 internal bool IsNullable { 102 get { return mapping.IsNeedNullable; } 103 } 104 105 /// <include file='doc\XmlMemberMapping.uex' path='docs/doc[@for="XmlMemberMapping.GenerateTypeName"]/*' /> 106 /// <devdoc> 107 /// <para>[To be supplied.]</para> 108 /// </devdoc> GenerateTypeName(CodeDomProvider codeProvider)109 public string GenerateTypeName(CodeDomProvider codeProvider) { 110 return mapping.GetTypeName(codeProvider); 111 } 112 } 113 } 114