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
- AutomationElement.cs
- UnionCodeGroup.cs
- BaseParser.cs
- TemplateBindingExtension.cs
- DesignerAttribute.cs
- MexServiceChannelBuilder.cs
- ForeignKeyConstraint.cs
- ClientApiGenerator.cs
- NamedPipeProcessProtocolHandler.cs
- DependencyObjectType.cs
- XPathDocumentIterator.cs
- Logging.cs
- Form.cs
- FontFamily.cs
- StringConcat.cs
- CngKeyBlobFormat.cs
- TextServicesDisplayAttributePropertyRanges.cs
- LinkDescriptor.cs
- CodeDOMUtility.cs
- XamlTypeMapper.cs
- SecurityAlgorithmSuite.cs
- SQLSingle.cs
- BaseTreeIterator.cs
- XmlCollation.cs
- CustomExpressionEventArgs.cs
- EditorZoneBase.cs
- TTSEngineProxy.cs
- ArrayWithOffset.cs
- Propagator.ExtentPlaceholderCreator.cs
- SlipBehavior.cs
- AlternationConverter.cs
- BaseCollection.cs
- StringToken.cs
- ClientTarget.cs
- DBAsyncResult.cs
- DataRowCollection.cs
- DragEvent.cs
- XmlRootAttribute.cs
- FixedTextView.cs
- RectValueSerializer.cs
- CatalogPartChrome.cs
- ActiveXHost.cs
- MetaData.cs
- ImageCodecInfo.cs
- GridViewPageEventArgs.cs
- CodeCompiler.cs
- DefaultHttpHandler.cs
- SqlGenericUtil.cs
- HttpResponseWrapper.cs
- BindingNavigator.cs
- PersonalizationStateQuery.cs
- EventTrigger.cs
- ParserHooks.cs
- PermissionToken.cs
- XslNumber.cs
- RectangleGeometry.cs
- XmlCollation.cs
- WindowsRegion.cs
- ValidationEventArgs.cs
- ProgressBarHighlightConverter.cs
- SqlRewriteScalarSubqueries.cs
- ValueConversionAttribute.cs
- SelfIssuedAuthProofToken.cs
- Double.cs
- WebBrowserHelper.cs
- DataGridViewBindingCompleteEventArgs.cs
- ListViewInsertEventArgs.cs
- DynamicValidator.cs
- IDispatchConstantAttribute.cs
- SharedConnectionInfo.cs
- PropertyEmitter.cs
- Cursor.cs
- WebPartsPersonalizationAuthorization.cs
- DataViewListener.cs
- TableStyle.cs
- TextElementAutomationPeer.cs
- WsdlContractConversionContext.cs
- DataBoundControl.cs
- SqlCacheDependencyDatabaseCollection.cs
- CodeRegionDirective.cs
- SortableBindingList.cs
- BreakRecordTable.cs
- C14NUtil.cs
- AxisAngleRotation3D.cs
- TableRowsCollectionEditor.cs
- NameSpaceExtractor.cs
- ProviderException.cs
- LoginCancelEventArgs.cs
- XmlNodeComparer.cs
- _Connection.cs
- ResourceAssociationTypeEnd.cs
- OleDbPropertySetGuid.cs
- ReceiveContextCollection.cs
- TemplateControl.cs
- HttpHandlerActionCollection.cs
- FlowLayoutSettings.cs
- FormattedText.cs
- SourceFileBuildProvider.cs
- SettingsSection.cs
- Property.cs