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
- CompressStream.cs
- RelationshipConverter.cs
- ToolStripPanelCell.cs
- PropertyFilterAttribute.cs
- wgx_render.cs
- SerializationHelper.cs
- DataGridColumnCollectionEditor.cs
- ModelTreeEnumerator.cs
- SchemaElementDecl.cs
- TerminateSequence.cs
- DataSetUtil.cs
- BuildProvider.cs
- LogSwitch.cs
- StaticSiteMapProvider.cs
- CodeSubDirectory.cs
- InputProcessorProfiles.cs
- BitmapImage.cs
- GridPattern.cs
- XPathSelectionIterator.cs
- Property.cs
- DataGridViewControlCollection.cs
- Int64.cs
- PropertyContainer.cs
- FactoryGenerator.cs
- CreateInstanceBinder.cs
- DefaultEventAttribute.cs
- BaseAsyncResult.cs
- RowBinding.cs
- FormViewPageEventArgs.cs
- SQLMoneyStorage.cs
- PeerName.cs
- PropertyMetadata.cs
- CacheChildrenQuery.cs
- Utils.cs
- MultilineStringConverter.cs
- XmlNamespaceDeclarationsAttribute.cs
- StylusButtonEventArgs.cs
- RangeBase.cs
- NativeMethods.cs
- MembershipSection.cs
- BackgroundWorker.cs
- HttpChannelHelper.cs
- ListItemsPage.cs
- PermissionSetTriple.cs
- LowerCaseStringConverter.cs
- CompressedStack.cs
- CodeDomExtensionMethods.cs
- IssuanceLicense.cs
- DataGridRelationshipRow.cs
- xdrvalidator.cs
- GenericWebPart.cs
- _HeaderInfoTable.cs
- GenericPrincipal.cs
- DateTimeOffsetAdapter.cs
- SoapAttributes.cs
- InputReportEventArgs.cs
- LineBreak.cs
- TypeValidationEventArgs.cs
- SessionStateContainer.cs
- XmlCustomFormatter.cs
- ScriptDescriptor.cs
- HostedTransportConfigurationBase.cs
- XmlNavigatorFilter.cs
- webbrowsersite.cs
- FixedSOMFixedBlock.cs
- AsyncPostBackTrigger.cs
- ActivityExecutorSurrogate.cs
- HtmlTextArea.cs
- Misc.cs
- EqualityComparer.cs
- XMLUtil.cs
- CompilerState.cs
- SByteConverter.cs
- DetailsViewUpdateEventArgs.cs
- EventMappingSettings.cs
- FieldBuilder.cs
- Color.cs
- FormViewInsertEventArgs.cs
- CounterSet.cs
- StorageAssociationSetMapping.cs
- Vector3DCollection.cs
- InputLanguageSource.cs
- XmlSchemaSimpleTypeUnion.cs
- DSASignatureDeformatter.cs
- XPathScanner.cs
- BinaryUtilClasses.cs
- TransformPattern.cs
- FormCollection.cs
- Cloud.cs
- RegexNode.cs
- CombinedTcpChannel.cs
- CodeDomExtensionMethods.cs
- StyleTypedPropertyAttribute.cs
- CultureInfoConverter.cs
- SingleAnimationUsingKeyFrames.cs
- RtType.cs
- DataServiceResponse.cs
- ObjectDataSourceDisposingEventArgs.cs
- WsdlExporter.cs
- StateDesigner.Helpers.cs