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
- DataGridColumnCollection.cs
- EmptyCollection.cs
- MetadataCache.cs
- DataBinding.cs
- InvalidCastException.cs
- WebPartsSection.cs
- InternalMappingException.cs
- UpDownEvent.cs
- ManipulationDeltaEventArgs.cs
- DataTableReader.cs
- PerfCounterSection.cs
- DataSourceProvider.cs
- GreenMethods.cs
- XmlTextReader.cs
- PerformanceCounterLib.cs
- IdleTimeoutMonitor.cs
- PrivateFontCollection.cs
- PageContent.cs
- ArrayElementGridEntry.cs
- RowTypeElement.cs
- __TransparentProxy.cs
- CodeExpressionCollection.cs
- TrustLevelCollection.cs
- SortedDictionary.cs
- SrgsItemList.cs
- SchemaTableColumn.cs
- ReadWriteObjectLock.cs
- XmlQueryTypeFactory.cs
- ListViewCancelEventArgs.cs
- TextEmbeddedObject.cs
- COM2ExtendedUITypeEditor.cs
- TextParaClient.cs
- StateMachineExecutionState.cs
- SchemaElementLookUpTableEnumerator.cs
- FunctionNode.cs
- EntityDataSourceSelectingEventArgs.cs
- SqlDataReader.cs
- KeyValuePair.cs
- ExpressionEditorSheet.cs
- ExceptionCollection.cs
- SizeConverter.cs
- ObjectStateFormatter.cs
- Cursor.cs
- DbSource.cs
- VBCodeProvider.cs
- DesignerTransaction.cs
- TextLine.cs
- DbConnectionPoolCounters.cs
- PipeStream.cs
- PTUtility.cs
- Stylesheet.cs
- WinEventWrap.cs
- ExternalFile.cs
- XsltSettings.cs
- TableSectionStyle.cs
- KeySpline.cs
- safemediahandle.cs
- ValidationPropertyAttribute.cs
- RoleManagerEventArgs.cs
- TickBar.cs
- IdnMapping.cs
- ValueUtilsSmi.cs
- PropertyChangeTracker.cs
- MemberListBinding.cs
- CompiledIdentityConstraint.cs
- RequestValidator.cs
- storepermissionattribute.cs
- PassportAuthenticationEventArgs.cs
- ExtensionFile.cs
- SerializationInfo.cs
- XmlChildEnumerator.cs
- HtmlInputFile.cs
- DataColumnCollection.cs
- SizeF.cs
- ThicknessAnimationUsingKeyFrames.cs
- DynamicDataResources.Designer.cs
- SplitterCancelEvent.cs
- TextParaLineResult.cs
- EncryptedData.cs
- DocobjHost.cs
- BitmapEffectvisualstate.cs
- BinaryMethodMessage.cs
- CodeObject.cs
- PeerToPeerException.cs
- SystemIPv4InterfaceProperties.cs
- ProxyWebPartConnectionCollection.cs
- SimpleBitVector32.cs
- XmlSchemaSimpleTypeRestriction.cs
- AudioException.cs
- SafeRegistryHandle.cs
- SafeBitVector32.cs
- BamlVersionHeader.cs
- WindowsFormsSectionHandler.cs
- ObjectListFieldCollection.cs
- FigureParagraph.cs
- BindingNavigator.cs
- Facet.cs
- PolyBezierSegment.cs
- ToolStripArrowRenderEventArgs.cs
- ByteFacetDescriptionElement.cs