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
- CompositeTypefaceMetrics.cs
- BamlVersionHeader.cs
- Quaternion.cs
- Nullable.cs
- GenerateDerivedKeyRequest.cs
- SafeNativeMethods.cs
- ReachUIElementCollectionSerializerAsync.cs
- FtpWebRequest.cs
- DbConnectionClosed.cs
- GlobalizationSection.cs
- Rect3D.cs
- PaintEvent.cs
- ToolStripDropDownClosingEventArgs.cs
- TextStore.cs
- OLEDB_Util.cs
- RsaSecurityTokenAuthenticator.cs
- ImageClickEventArgs.cs
- Ray3DHitTestResult.cs
- DataGridViewTopRowAccessibleObject.cs
- Propagator.cs
- NodeLabelEditEvent.cs
- TokenizerHelper.cs
- NodeInfo.cs
- ValidationPropertyAttribute.cs
- SafeNativeMethods.cs
- DeflateEmulationStream.cs
- ZipIORawDataFileBlock.cs
- CodeAttachEventStatement.cs
- WebPartCloseVerb.cs
- RoleManagerModule.cs
- SmtpTransport.cs
- TableLayoutPanelCellPosition.cs
- SmiContextFactory.cs
- HelpKeywordAttribute.cs
- DataGridViewTopRowAccessibleObject.cs
- CodeIterationStatement.cs
- RemoteWebConfigurationHost.cs
- MgmtConfigurationRecord.cs
- DeviceContext2.cs
- Camera.cs
- MultipartIdentifier.cs
- ScriptingRoleServiceSection.cs
- DataObjectMethodAttribute.cs
- SmiConnection.cs
- ArgumentNullException.cs
- RowToFieldTransformer.cs
- RecordsAffectedEventArgs.cs
- TreeNodeCollection.cs
- BindingContext.cs
- CornerRadiusConverter.cs
- Rect.cs
- ListBoxItemWrapperAutomationPeer.cs
- SchemaCollectionCompiler.cs
- PaperSource.cs
- SpellerInterop.cs
- SimpleHandlerFactory.cs
- XmlNamespaceManager.cs
- XPathNodeList.cs
- DateTimeConverter2.cs
- LineProperties.cs
- ElementUtil.cs
- ConstraintManager.cs
- TextStore.cs
- GrammarBuilderDictation.cs
- ChannelDispatcherBase.cs
- SqlCacheDependencyDatabase.cs
- BinHexEncoding.cs
- UIPropertyMetadata.cs
- UnsafeNativeMethods.cs
- TagPrefixCollection.cs
- TrackingAnnotationCollection.cs
- WebBrowserDesigner.cs
- Wizard.cs
- Boolean.cs
- RemotingConfiguration.cs
- EmbeddedObject.cs
- Hex.cs
- FlagsAttribute.cs
- XmlSortKeyAccumulator.cs
- InvokeWebService.cs
- CssStyleCollection.cs
- IListConverters.cs
- XmlNamedNodeMap.cs
- LinearKeyFrames.cs
- TableLayoutPanel.cs
- SamlAuthorizationDecisionClaimResource.cs
- ResolveNameEventArgs.cs
- AutomationProperty.cs
- ComplexType.cs
- InputLangChangeRequestEvent.cs
- CqlParser.cs
- InfiniteTimeSpanConverter.cs
- SoapElementAttribute.cs
- DataGridViewCheckBoxCell.cs
- PeerHelpers.cs
- BaseParagraph.cs
- SelectionGlyph.cs
- RecognitionResult.cs
- WindowPatternIdentifiers.cs
- ClonableStack.cs