Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
XmlMiscConverter.cs
Go to the documentation of this file.
2
3namespace System.Xml.Schema;
4
5internal sealed class XmlMiscConverter : XmlBaseConverter
6{
7 private XmlMiscConverter(XmlSchemaType schemaType)
8 : base(schemaType)
9 {
10 }
11
12 public static XmlValueConverter Create(XmlSchemaType schemaType)
13 {
14 return new XmlMiscConverter(schemaType);
15 }
16
17 public override string ToString(object value, IXmlNamespaceResolver nsResolver)
18 {
19 if (value == null)
20 {
21 throw new ArgumentNullException("value");
22 }
25 {
26 switch (base.TypeCode)
27 {
28 case XmlTypeCode.Base64Binary:
30 case XmlTypeCode.HexBinary:
31 return XmlConvert.ToBinHexString((byte[])value);
32 }
33 }
35 {
36 return (string)value;
37 }
39 {
41 }
43 {
44 switch (base.TypeCode)
45 {
46 case XmlTypeCode.DayTimeDuration:
48 case XmlTypeCode.Duration:
50 case XmlTypeCode.YearMonthDuration:
52 }
53 }
55 {
56 switch (base.TypeCode)
57 {
58 case XmlTypeCode.Notation:
60 case XmlTypeCode.QName:
62 }
63 }
65 }
66
68 {
69 if (value == null)
70 {
71 throw new ArgumentNullException("value");
72 }
73 if (destinationType == null)
74 {
75 throw new ArgumentNullException("destinationType");
76 }
78 {
79 destinationType = base.DefaultClrType;
80 }
82 {
83 switch (base.TypeCode)
84 {
85 case XmlTypeCode.Base64Binary:
87 case XmlTypeCode.HexBinary:
89 }
90 }
92 {
93 switch (base.TypeCode)
94 {
95 case XmlTypeCode.Notation:
97 case XmlTypeCode.QName:
99 }
100 }
102 {
103 return value;
104 }
106 {
107 switch (base.TypeCode)
108 {
109 case XmlTypeCode.DayTimeDuration:
111 case XmlTypeCode.Duration:
113 case XmlTypeCode.YearMonthDuration:
115 }
116 }
117 if (destinationType == XmlBaseConverter.UriType && base.TypeCode == XmlTypeCode.AnyUri)
118 {
119 return XmlConvert.ToUri(value);
120 }
122 {
123 return new XmlAtomicValue(base.SchemaType, value, nsResolver);
124 }
126 }
127
129 {
130 if (value == null)
131 {
132 throw new ArgumentNullException("value");
133 }
134 if (destinationType == null)
135 {
136 throw new ArgumentNullException("destinationType");
137 }
140 {
141 destinationType = base.DefaultClrType;
142 }
144 {
146 {
147 switch (base.TypeCode)
148 {
149 case XmlTypeCode.Base64Binary:
150 return (byte[])value;
151 case XmlTypeCode.HexBinary:
152 return (byte[])value;
153 }
154 }
156 {
157 switch (base.TypeCode)
158 {
159 case XmlTypeCode.Base64Binary:
161 case XmlTypeCode.HexBinary:
163 }
164 }
165 }
167 {
169 {
170 switch (base.TypeCode)
171 {
172 case XmlTypeCode.Notation:
174 case XmlTypeCode.QName:
176 }
177 }
179 {
180 switch (base.TypeCode)
181 {
182 case XmlTypeCode.Notation:
183 return (XmlQualifiedName)value;
184 case XmlTypeCode.QName:
185 return (XmlQualifiedName)value;
186 }
187 }
188 }
190 {
191 return ToString(value, nsResolver);
192 }
194 {
196 {
197 switch (base.TypeCode)
198 {
199 case XmlTypeCode.DayTimeDuration:
201 case XmlTypeCode.Duration:
203 case XmlTypeCode.YearMonthDuration:
205 }
206 }
208 {
209 switch (base.TypeCode)
210 {
211 case XmlTypeCode.DayTimeDuration:
212 return (TimeSpan)value;
213 case XmlTypeCode.Duration:
214 return (TimeSpan)value;
215 case XmlTypeCode.YearMonthDuration:
216 return (TimeSpan)value;
217 }
218 }
219 }
221 {
222 if (type == XmlBaseConverter.StringType && base.TypeCode == XmlTypeCode.AnyUri)
223 {
224 return XmlConvert.ToUri((string)value);
225 }
227 {
228 return (Uri)value;
229 }
230 }
232 {
234 {
235 switch (base.TypeCode)
236 {
237 case XmlTypeCode.Base64Binary:
238 return new XmlAtomicValue(base.SchemaType, value);
239 case XmlTypeCode.HexBinary:
240 return new XmlAtomicValue(base.SchemaType, value);
241 }
242 }
244 {
245 return new XmlAtomicValue(base.SchemaType, (string)value, nsResolver);
246 }
248 {
249 switch (base.TypeCode)
250 {
251 case XmlTypeCode.DayTimeDuration:
252 return new XmlAtomicValue(base.SchemaType, value);
253 case XmlTypeCode.Duration:
254 return new XmlAtomicValue(base.SchemaType, value);
255 case XmlTypeCode.YearMonthDuration:
256 return new XmlAtomicValue(base.SchemaType, value);
257 }
258 }
260 {
261 return new XmlAtomicValue(base.SchemaType, value);
262 }
264 {
265 return (XmlAtomicValue)value;
266 }
268 {
269 switch (base.TypeCode)
270 {
271 case XmlTypeCode.Notation:
272 return new XmlAtomicValue(base.SchemaType, value, nsResolver);
273 case XmlTypeCode.QName:
274 return new XmlAtomicValue(base.SchemaType, value, nsResolver);
275 }
276 }
277 }
279 {
280 return (XmlAtomicValue)value;
281 }
283 {
285 }
287 {
289 }
291 }
292
302
311}
static ? Type GetType(string typeName, bool throwOnError, bool ignoreCase)
Definition Type.cs:408
static string DayTimeDurationToString(TimeSpan value)
static readonly Type XmlAtomicValueType
static string DurationToString(TimeSpan value)
static TimeSpan StringToYearMonthDuration(string value)
static string QNameToString(XmlQualifiedName name)
virtual object ChangeListType(object value, Type destinationType, IXmlNamespaceResolver nsResolver)
static readonly Type XmlQualifiedNameType
static XmlQualifiedName StringToQName(string value, IXmlNamespaceResolver nsResolver)
static string Base64BinaryToString(byte[] value)
static string YearMonthDurationToString(TimeSpan value)
static string AnyUriToString(Uri value)
static byte[] StringToBase64Binary(string value)
static TimeSpan StringToDayTimeDuration(string value)
static byte[] StringToHexBinary(string value)
static bool IsDerivedFrom(Type derivedType, Type baseType)
static TimeSpan StringToDuration(string value)
override object ChangeType(object value, Type destinationType, IXmlNamespaceResolver nsResolver)
override string ToString(object value, IXmlNamespaceResolver nsResolver)
object ChangeTypeWildcardDestination(object value, Type destinationType, IXmlNamespaceResolver nsResolver)
override object ChangeType(string value, Type destinationType, IXmlNamespaceResolver nsResolver)
static XmlValueConverter Create(XmlSchemaType schemaType)
object ChangeTypeWildcardSource(object value, Type destinationType, IXmlNamespaceResolver nsResolver)
XmlMiscConverter(XmlSchemaType schemaType)
static string ToBinHexString(byte[] inArray)
static Uri ToUri(string s)