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
- EmptyCollection.cs
- HiddenFieldDesigner.cs
- IxmlLineInfo.cs
- TextRunCacheImp.cs
- connectionpool.cs
- XamlPathDataSerializer.cs
- DataKey.cs
- SyndicationItem.cs
- ImageCodecInfo.cs
- XamlClipboardData.cs
- ComNativeDescriptor.cs
- TextEmbeddedObject.cs
- AbsoluteQuery.cs
- SamlSubject.cs
- StretchValidation.cs
- SerializableAttribute.cs
- QilReplaceVisitor.cs
- RangeBase.cs
- DispatcherProcessingDisabled.cs
- FileInfo.cs
- KeySpline.cs
- XmlSchemaComplexContentRestriction.cs
- EntityAdapter.cs
- HttpStreamMessageEncoderFactory.cs
- TextChangedEventArgs.cs
- TraceContext.cs
- OleCmdHelper.cs
- SubclassTypeValidatorAttribute.cs
- DataStreamFromComStream.cs
- ConnectionsZone.cs
- AuthenticationModuleElement.cs
- UTF32Encoding.cs
- SimpleModelProvider.cs
- Int32CollectionConverter.cs
- DataControlFieldCollection.cs
- IPipelineRuntime.cs
- JsonWriter.cs
- DragDrop.cs
- FileNotFoundException.cs
- RequestCacheManager.cs
- ServiceControllerDesigner.cs
- CacheManager.cs
- Exception.cs
- UnsafeNativeMethods.cs
- SmiEventStream.cs
- GetMemberBinder.cs
- ColumnPropertiesGroup.cs
- RuntimeArgumentHandle.cs
- OrderedHashRepartitionStream.cs
- Guid.cs
- InternalPolicyElement.cs
- TypeContext.cs
- ProfileBuildProvider.cs
- TextPointer.cs
- AccessibilityHelperForXpWin2k3.cs
- StatusBar.cs
- LinqDataView.cs
- XmlCharacterData.cs
- xsdvalidator.cs
- SQLSingle.cs
- MetroSerializationManager.cs
- UriTemplateTrieLocation.cs
- HostExecutionContextManager.cs
- ModifierKeysConverter.cs
- HandlerFactoryCache.cs
- ThousandthOfEmRealPoints.cs
- TreeNodeEventArgs.cs
- ReferentialConstraint.cs
- EditBehavior.cs
- ExpressionLexer.cs
- QueryStringParameter.cs
- DSASignatureFormatter.cs
- SystemWebCachingSectionGroup.cs
- TextEditor.cs
- GeometryDrawing.cs
- BindingContext.cs
- Cursor.cs
- BinHexEncoder.cs
- ExpanderAutomationPeer.cs
- CompensateDesigner.cs
- Utils.cs
- HtmlGenericControl.cs
- SapiRecoInterop.cs
- OracleInternalConnection.cs
- ContentElement.cs
- WorkflowOwnerAsyncResult.cs
- TextRangeEditLists.cs
- RedistVersionInfo.cs
- StylusDownEventArgs.cs
- ResourceDescriptionAttribute.cs
- BasicBrowserDialog.cs
- TextLineBreak.cs
- MultiBinding.cs
- Line.cs
- FrameworkPropertyMetadata.cs
- SQLDouble.cs
- ListenerElementsCollection.cs
- Baml2006ReaderContext.cs
- StorageEntityTypeMapping.cs
- EditBehavior.cs