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
- ComplexObject.cs
- HostedAspNetEnvironment.cs
- Type.cs
- AnnotationComponentManager.cs
- COM2IDispatchConverter.cs
- ScriptingWebServicesSectionGroup.cs
- TrackBarRenderer.cs
- ContainerFilterService.cs
- ManagedWndProcTracker.cs
- AppSettingsReader.cs
- dsa.cs
- ComponentEditorPage.cs
- LocalizableAttribute.cs
- InstanceCreationEditor.cs
- PropertyChangedEventManager.cs
- DispatcherSynchronizationContext.cs
- AuthenticateEventArgs.cs
- WaitHandleCannotBeOpenedException.cs
- SyndicationContent.cs
- EnvironmentPermission.cs
- Module.cs
- Brush.cs
- Encoder.cs
- RoutedEvent.cs
- PackUriHelper.cs
- WpfMemberInvoker.cs
- Internal.cs
- CardSpacePolicyElement.cs
- StructuralType.cs
- MultipartContentParser.cs
- WebPartCatalogAddVerb.cs
- TraceEventCache.cs
- TileBrush.cs
- UnionExpr.cs
- BuildResultCache.cs
- CheckedListBox.cs
- FontWeightConverter.cs
- ReferentialConstraintRoleElement.cs
- DataBoundControlHelper.cs
- OSFeature.cs
- ButtonFlatAdapter.cs
- MatrixAnimationUsingKeyFrames.cs
- SegmentTree.cs
- RemotingAttributes.cs
- SerTrace.cs
- DragDrop.cs
- RangeBase.cs
- PointConverter.cs
- StylusSystemGestureEventArgs.cs
- PrintDocument.cs
- SHA512.cs
- SafeBitVector32.cs
- EditorResources.cs
- SelectionChangedEventArgs.cs
- ViewCellSlot.cs
- DatatypeImplementation.cs
- InputElement.cs
- DescendantQuery.cs
- SQLDecimal.cs
- EntryIndex.cs
- ServiceSecurityContext.cs
- ArraySortHelper.cs
- UnmanagedMarshal.cs
- SignerInfo.cs
- CellParagraph.cs
- BrowserCapabilitiesFactoryBase.cs
- X509Utils.cs
- WebPartVerb.cs
- ProcessModule.cs
- TypeResolvingOptions.cs
- RadioButton.cs
- RawMouseInputReport.cs
- DataGridViewCellValidatingEventArgs.cs
- MetadataPropertyCollection.cs
- ResourceWriter.cs
- ReadOnlyDictionary.cs
- SafeHandles.cs
- IdentityValidationException.cs
- SqlUtil.cs
- PowerEase.cs
- GetIsBrowserClientRequest.cs
- ProcessModuleDesigner.cs
- DefaultAutoFieldGenerator.cs
- MergeFilterQuery.cs
- MLangCodePageEncoding.cs
- TreeSet.cs
- RepeatButtonAutomationPeer.cs
- DigitalSignature.cs
- Automation.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- Constraint.cs
- SimpleLine.cs
- XmlSchema.cs
- PolyLineSegment.cs
- DecoderBestFitFallback.cs
- SessionIDManager.cs
- WhitespaceRule.cs
- COM2ExtendedUITypeEditor.cs
- ElementProxy.cs
- SessionStateModule.cs