Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / Serialization / System / Runtime / Serialization / DateTimeOffsetAdapter.cs / 1 / 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. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- xdrvalidator.cs
- FakeModelItemImpl.cs
- VisualStyleElement.cs
- _WinHttpWebProxyDataBuilder.cs
- ServiceDescriptionImporter.cs
- TripleDESCryptoServiceProvider.cs
- IdentityHolder.cs
- Helpers.cs
- ContainsRowNumberChecker.cs
- VisemeEventArgs.cs
- FlagsAttribute.cs
- DynamicILGenerator.cs
- PerformanceCounterManager.cs
- PersonalizablePropertyEntry.cs
- BezierSegment.cs
- TableSectionStyle.cs
- DataGridColumnCollection.cs
- DataGridViewRowStateChangedEventArgs.cs
- TagPrefixAttribute.cs
- SyndicationItemFormatter.cs
- DrawListViewSubItemEventArgs.cs
- GridItem.cs
- ArglessEventHandlerProxy.cs
- ApplicationHost.cs
- DispatcherOperation.cs
- BaseValidator.cs
- ElapsedEventArgs.cs
- EqualityComparer.cs
- SizeChangedInfo.cs
- VariableDesigner.xaml.cs
- DebuggerAttributes.cs
- BindingExpressionUncommonField.cs
- ChangeConflicts.cs
- DynamicExpression.cs
- SingleAnimationUsingKeyFrames.cs
- ClientTarget.cs
- ConfigUtil.cs
- ScriptComponentDescriptor.cs
- wgx_sdk_version.cs
- Stacktrace.cs
- RtfToken.cs
- WorkflowCreationContext.cs
- FixedSOMLineRanges.cs
- CatalogPart.cs
- DataTableMapping.cs
- cookieexception.cs
- DataTableNewRowEvent.cs
- InvalidDataException.cs
- AnnotationHelper.cs
- ExpressionConverter.cs
- CodeTypeReference.cs
- PropertyChange.cs
- DataControlField.cs
- ObjectStateManagerMetadata.cs
- IndicFontClient.cs
- ToolStripButton.cs
- BinaryHeap.cs
- TextureBrush.cs
- AnimatedTypeHelpers.cs
- DescendentsWalkerBase.cs
- Cursor.cs
- StaticFileHandler.cs
- CopyOfAction.cs
- DnsPermission.cs
- NativeMethods.cs
- SizeChangedEventArgs.cs
- TypeNameConverter.cs
- BaseCollection.cs
- DefaultObjectMappingItemCollection.cs
- CompositeTypefaceMetrics.cs
- AuthenticationModuleElement.cs
- GridViewEditEventArgs.cs
- ToggleProviderWrapper.cs
- QueryPageSettingsEventArgs.cs
- BaseTemplateCodeDomTreeGenerator.cs
- InstancePersistence.cs
- CounterNameConverter.cs
- SelectorItemAutomationPeer.cs
- TextRangeEditLists.cs
- PrintDialogException.cs
- OutOfProcStateClientManager.cs
- WebPartEditVerb.cs
- TraceSection.cs
- Html32TextWriter.cs
- storepermission.cs
- PeerCredentialElement.cs
- PtsCache.cs
- RecipientIdentity.cs
- PingReply.cs
- DataServiceStreamResponse.cs
- Stroke.cs
- TextDecorationUnitValidation.cs
- XsltLoader.cs
- RemoteTokenFactory.cs
- CheckBox.cs
- DateTimeFormat.cs
- MarshalByValueComponent.cs
- StringConverter.cs
- ThreadInterruptedException.cs
- BookmarkScopeManager.cs