Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / Serialization / System / Runtime / Serialization / DateTimeOffsetAdapter.cs / 1305376 / DateTimeOffsetAdapter.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Runtime.Serialization { using System; using System.Reflection; using System.Xml; using System.Globalization; [DataContract(Name = "DateTimeOffset", Namespace = "http://schemas.datacontract.org/2004/07/System")] #if USE_REFEMIT public struct DateTimeOffsetAdapter #else internal struct DateTimeOffsetAdapter #endif { DateTime utcDateTime; short offsetMinutes; public DateTimeOffsetAdapter(DateTime dateTime, short offsetMinutes) { this.utcDateTime = dateTime; this.offsetMinutes = offsetMinutes; } [DataMember(Name = "DateTime", IsRequired = true)] public DateTime UtcDateTime { get { return utcDateTime; } set { utcDateTime = value; } } [DataMember(Name = "OffsetMinutes", IsRequired = true)] public short OffsetMinutes { get { return offsetMinutes; } set { offsetMinutes = value; } } public static DateTimeOffset GetDateTimeOffset(DateTimeOffsetAdapter value) { try { switch (value.UtcDateTime.Kind) { case DateTimeKind.Unspecified: return new DateTimeOffset(value.UtcDateTime, new TimeSpan(0, value.OffsetMinutes, 0)); //DateTimeKind.Utc and DateTimeKind.Local //Read in deserialized DateTime portion of the DateTimeOffsetAdapter and convert DateTimeKind to Unspecified. //Apply ofset information read from OffsetMinutes portion of the DateTimeOffsetAdapter. //Return converted DateTimeoffset object. default: DateTimeOffset deserialized = new DateTimeOffset(value.UtcDateTime); return deserialized.ToOffset(new TimeSpan(0, value.OffsetMinutes, 0)); } } catch (ArgumentException exception) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(XmlExceptionHelper.CreateConversionException(value.ToString(CultureInfo.InvariantCulture), "DateTimeOffset", exception)); } } public static DateTimeOffsetAdapter GetDateTimeOffsetAdapter(DateTimeOffset value) { return new DateTimeOffsetAdapter(value.UtcDateTime, (short)value.Offset.TotalMinutes); } public string ToString(IFormatProvider provider) { return "DateTime: " + this.UtcDateTime + ", Offset: " + this.OffsetMinutes; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- OletxVolatileEnlistment.cs
- HostProtectionPermission.cs
- ConfigurationElementProperty.cs
- SqlLiftIndependentRowExpressions.cs
- ClientProxyGenerator.cs
- FileNotFoundException.cs
- ResourceDescriptionAttribute.cs
- LifetimeServices.cs
- OracleBinary.cs
- ThreadStartException.cs
- NetworkStream.cs
- graph.cs
- ColumnWidthChangedEvent.cs
- BidOverLoads.cs
- SecurityUniqueId.cs
- ScriptReferenceEventArgs.cs
- SqlParameterizer.cs
- SqlPersonalizationProvider.cs
- WebControl.cs
- ZipPackagePart.cs
- TimeEnumHelper.cs
- GlobalizationAssembly.cs
- UserPreferenceChangedEventArgs.cs
- CompressedStack.cs
- InlineObject.cs
- HttpTransportSecurity.cs
- SessionStateSection.cs
- smtppermission.cs
- SocketElement.cs
- TypeInitializationException.cs
- ObjectResult.cs
- IgnoreSection.cs
- DefaultCompensation.cs
- WpfPayload.cs
- DataColumnPropertyDescriptor.cs
- WSHttpBindingBaseElement.cs
- SqlTriggerAttribute.cs
- XslTransform.cs
- JournalEntry.cs
- ImageUrlEditor.cs
- OdbcConnectionStringbuilder.cs
- QuotedPrintableStream.cs
- QuaternionValueSerializer.cs
- IItemProperties.cs
- AssemblyUtil.cs
- HtmlForm.cs
- CallbackException.cs
- IriParsingElement.cs
- RuntimeUtils.cs
- PageThemeBuildProvider.cs
- ChannelCacheSettings.cs
- PolyLineSegment.cs
- UnionCodeGroup.cs
- UserValidatedEventArgs.cs
- FilterElement.cs
- LoadMessageLogger.cs
- HttpRequestWrapper.cs
- RegexWorker.cs
- DataControlFieldHeaderCell.cs
- DataBinding.cs
- WsatConfiguration.cs
- URLString.cs
- TemplateControl.cs
- XmlElementAttribute.cs
- NativeWindow.cs
- DnsPermission.cs
- UriSectionData.cs
- EntityTransaction.cs
- DbgUtil.cs
- SecurityElementBase.cs
- FrameworkContextData.cs
- DataListCommandEventArgs.cs
- SqlFormatter.cs
- ServicePoint.cs
- MaskedTextProvider.cs
- String.cs
- Point3DCollection.cs
- XmlSchemaDatatype.cs
- SystemSounds.cs
- BamlReader.cs
- OutputCacheSettingsSection.cs
- storepermissionattribute.cs
- FormCollection.cs
- XmlWriter.cs
- MenuAutomationPeer.cs
- ListenerServiceInstallComponent.cs
- Evaluator.cs
- DispatchChannelSink.cs
- HtmlInputHidden.cs
- XmlSchemaType.cs
- FilteredSchemaElementLookUpTable.cs
- XmlDataSourceView.cs
- _Semaphore.cs
- MarshalByRefObject.cs
- ComponentResourceKey.cs
- ColorMatrix.cs
- CacheMemory.cs
- ModulesEntry.cs
- DiscoveryInnerClientManaged11.cs
- AutomationPropertyChangedEventArgs.cs