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
- DataGridItemEventArgs.cs
- TextAutomationPeer.cs
- Tracer.cs
- ContentHostHelper.cs
- DashStyle.cs
- ContextStaticAttribute.cs
- LocalizedNameDescriptionPair.cs
- NetPipeSection.cs
- ITextView.cs
- BulletChrome.cs
- PEFileEvidenceFactory.cs
- SettingsPropertyValueCollection.cs
- entitydatasourceentitysetnameconverter.cs
- XPathScanner.cs
- PartitionedStream.cs
- _LocalDataStoreMgr.cs
- SimpleMailWebEventProvider.cs
- Array.cs
- PartialTrustHelpers.cs
- UidManager.cs
- XmlNotation.cs
- ArgumentsParser.cs
- WindowsSlider.cs
- RichTextBox.cs
- SafeReversePInvokeHandle.cs
- AuthenticationService.cs
- InheritanceContextChangedEventManager.cs
- EdmMember.cs
- HttpHandlerActionCollection.cs
- ComponentCommands.cs
- DataGridViewColumnCollection.cs
- WebRequestModulesSection.cs
- SiteMapDesignerDataSourceView.cs
- TraceUtils.cs
- WrappedKeySecurityToken.cs
- WMIInterop.cs
- CrossContextChannel.cs
- XmlDictionaryReaderQuotas.cs
- SafeFreeMibTable.cs
- BitmapImage.cs
- SecurityContextSecurityTokenParameters.cs
- SQLByte.cs
- LinearGradientBrush.cs
- sqlstateclientmanager.cs
- EntityKey.cs
- SliderAutomationPeer.cs
- Pen.cs
- TypeLibConverter.cs
- DataBindingHandlerAttribute.cs
- FixedLineResult.cs
- BufferedOutputStream.cs
- ObjectAssociationEndMapping.cs
- Compiler.cs
- OperationCanceledException.cs
- MaskedTextProvider.cs
- CompilerParameters.cs
- UiaCoreApi.cs
- DbProviderManifest.cs
- HtmlEncodedRawTextWriter.cs
- ExtenderControl.cs
- SafeRightsManagementEnvironmentHandle.cs
- SqlCacheDependencyDatabase.cs
- AdjustableArrowCap.cs
- HttpListenerResponse.cs
- XamlReaderHelper.cs
- EntityCommandDefinition.cs
- exports.cs
- PreviewPageInfo.cs
- PropertyInformation.cs
- ReferenceConverter.cs
- FlowDocumentFormatter.cs
- ApplicationSecurityInfo.cs
- EventSinkHelperWriter.cs
- JsonXmlDataContract.cs
- Shape.cs
- SurrogateDataContract.cs
- StringOutput.cs
- CultureTable.cs
- ObjectDataSource.cs
- MouseActionConverter.cs
- WebControl.cs
- InfoCardSymmetricAlgorithm.cs
- ClientSettingsProvider.cs
- COM2ExtendedUITypeEditor.cs
- TextDecorationLocationValidation.cs
- ColumnHeaderConverter.cs
- AnnotationHighlightLayer.cs
- TextDecorationCollection.cs
- WindowsFormsHostPropertyMap.cs
- NamespaceInfo.cs
- UInt16.cs
- ToolStripButton.cs
- MetadataItem.cs
- HtmlTableRow.cs
- ExpandSegment.cs
- TextServicesLoader.cs
- AppearanceEditorPart.cs
- HttpException.cs
- DefaultMemberAttribute.cs
- JsonFormatReaderGenerator.cs