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
- _HeaderInfoTable.cs
- TreeBuilderBamlTranslator.cs
- TextElementCollection.cs
- ObjectNotFoundException.cs
- PageRequestManager.cs
- GenericAuthenticationEventArgs.cs
- SchemaSetCompiler.cs
- DataList.cs
- ConfigurationStrings.cs
- ImageMapEventArgs.cs
- CanExpandCollapseAllConverter.cs
- PathFigure.cs
- XmlFileEditor.cs
- DataKeyArray.cs
- AttachedPropertyMethodSelector.cs
- XPathBinder.cs
- SemanticValue.cs
- TableLayoutPanelDesigner.cs
- DataObjectCopyingEventArgs.cs
- StrongNameMembershipCondition.cs
- DecimalConstantAttribute.cs
- OracleParameter.cs
- MetafileEditor.cs
- LogSwitch.cs
- FormatSettings.cs
- ProfilePropertySettingsCollection.cs
- ActivityCodeDomReferenceService.cs
- ApplicationSettingsBase.cs
- Brush.cs
- EntityClassGenerator.cs
- _PooledStream.cs
- AutomationPeer.cs
- ObjectPersistData.cs
- HttpStreamMessage.cs
- TreeNodeEventArgs.cs
- ExpressionConverter.cs
- MembershipAdapter.cs
- EntityDataSourceColumn.cs
- FocusChangedEventArgs.cs
- Permission.cs
- DeploymentSection.cs
- SettingsAttributes.cs
- InvokeHandlers.cs
- TableLayoutCellPaintEventArgs.cs
- LinqDataSourceHelper.cs
- AccessDataSourceWizardForm.cs
- COAUTHINFO.cs
- remotingproxy.cs
- BufferedGraphicsContext.cs
- ListItem.cs
- FixedSOMTable.cs
- TypeElement.cs
- UInt64Storage.cs
- TypeDescriptorFilterService.cs
- Soap12FormatExtensions.cs
- CodeGotoStatement.cs
- Exceptions.cs
- ChangeConflicts.cs
- NavigationFailedEventArgs.cs
- OleDbError.cs
- BinaryUtilClasses.cs
- JsonServiceDocumentSerializer.cs
- CompositeTypefaceMetrics.cs
- TextTreeInsertElementUndoUnit.cs
- Facet.cs
- TaiwanLunisolarCalendar.cs
- Int32Collection.cs
- OleDbFactory.cs
- TextEndOfParagraph.cs
- XmlDataSourceView.cs
- EventMappingSettings.cs
- ProfileGroupSettingsCollection.cs
- XmlWriterTraceListener.cs
- OSEnvironmentHelper.cs
- QueryOperator.cs
- ActivityCodeDomSerializationManager.cs
- Util.cs
- WindowsFormsHost.cs
- EditCommandColumn.cs
- Restrictions.cs
- KeysConverter.cs
- XmlException.cs
- SchemaNamespaceManager.cs
- GuidelineCollection.cs
- AncillaryOps.cs
- WebPartMenu.cs
- EntityDataSourceDataSelection.cs
- ValidationEventArgs.cs
- DataTableTypeConverter.cs
- CultureTableRecord.cs
- QuerySettings.cs
- EventSinkActivityDesigner.cs
- PartitionedStream.cs
- TypeDelegator.cs
- IdnMapping.cs
- ToolStripArrowRenderEventArgs.cs
- StringResourceManager.cs
- LightweightCodeGenerator.cs
- FragmentQueryProcessor.cs
- HttpProfileGroupBase.cs