Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / Serialization / System / Runtime / Serialization / SpecialTypeDataContract.cs / 1305376 / SpecialTypeDataContract.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Runtime.Serialization { using System; using System.Collections.Generic; using System.Text; using System.Xml; using System.Security; sealed class SpecialTypeDataContract : DataContract { [Fx.Tag.SecurityNote(Critical = "Holds instance of CriticalHelper which keeps state that is cached statically for serialization." + " Static fields are marked SecurityCritical or readonly to prevent data from being modified or leaked to other components in appdomain.")] [SecurityCritical] SpecialTypeDataContractCriticalHelper helper; [Fx.Tag.SecurityNote(Critical = "Initializes SecurityCritical field 'helper'.", Safe = "Doesn't leak anything.")] [SecuritySafeCritical] public SpecialTypeDataContract(Type type) : base(new SpecialTypeDataContractCriticalHelper(type)) { helper = base.Helper as SpecialTypeDataContractCriticalHelper; } [Fx.Tag.SecurityNote(Critical = "Initializes SecurityCritical field 'helper'.", Safe = "Doesn't leak anything.")] [SecuritySafeCritical] public SpecialTypeDataContract(Type type, XmlDictionaryString name, XmlDictionaryString ns) : base(new SpecialTypeDataContractCriticalHelper(type, name, ns)) { helper = base.Helper as SpecialTypeDataContractCriticalHelper; } internal override bool IsBuiltInDataContract { get { return true; } } [Fx.Tag.SecurityNote(Critical = "Holds all state used for for (de)serializing known types like System.Enum, System.ValueType, etc." + " Since the data is cached statically, we lock down access to it.")] [SecurityCritical(SecurityCriticalScope.Everything)] class SpecialTypeDataContractCriticalHelper : DataContract.DataContractCriticalHelper { internal SpecialTypeDataContractCriticalHelper(Type type) : base(type) { } internal SpecialTypeDataContractCriticalHelper(Type type, XmlDictionaryString name, XmlDictionaryString ns) : base(type) { SetDataContractName(name, ns); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Runtime.Serialization { using System; using System.Collections.Generic; using System.Text; using System.Xml; using System.Security; sealed class SpecialTypeDataContract : DataContract { [Fx.Tag.SecurityNote(Critical = "Holds instance of CriticalHelper which keeps state that is cached statically for serialization." + " Static fields are marked SecurityCritical or readonly to prevent data from being modified or leaked to other components in appdomain.")] [SecurityCritical] SpecialTypeDataContractCriticalHelper helper; [Fx.Tag.SecurityNote(Critical = "Initializes SecurityCritical field 'helper'.", Safe = "Doesn't leak anything.")] [SecuritySafeCritical] public SpecialTypeDataContract(Type type) : base(new SpecialTypeDataContractCriticalHelper(type)) { helper = base.Helper as SpecialTypeDataContractCriticalHelper; } [Fx.Tag.SecurityNote(Critical = "Initializes SecurityCritical field 'helper'.", Safe = "Doesn't leak anything.")] [SecuritySafeCritical] public SpecialTypeDataContract(Type type, XmlDictionaryString name, XmlDictionaryString ns) : base(new SpecialTypeDataContractCriticalHelper(type, name, ns)) { helper = base.Helper as SpecialTypeDataContractCriticalHelper; } internal override bool IsBuiltInDataContract { get { return true; } } [Fx.Tag.SecurityNote(Critical = "Holds all state used for for (de)serializing known types like System.Enum, System.ValueType, etc." + " Since the data is cached statically, we lock down access to it.")] [SecurityCritical(SecurityCriticalScope.Everything)] class SpecialTypeDataContractCriticalHelper : DataContract.DataContractCriticalHelper { internal SpecialTypeDataContractCriticalHelper(Type type) : base(type) { } internal SpecialTypeDataContractCriticalHelper(Type type, XmlDictionaryString name, XmlDictionaryString ns) : base(type) { SetDataContractName(name, ns); } } } } // 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
- TextTreeUndoUnit.cs
- Configuration.cs
- NamespaceMapping.cs
- Brush.cs
- CacheOutputQuery.cs
- LocatorBase.cs
- HttpClientCertificate.cs
- StorageMappingItemLoader.cs
- ModelPerspective.cs
- PropertyTabChangedEvent.cs
- ChannelCredentials.cs
- DynamicResourceExtensionConverter.cs
- MessageContractMemberAttribute.cs
- XslAst.cs
- ScriptControl.cs
- ColorAnimationBase.cs
- ContactManager.cs
- AnnotationComponentChooser.cs
- ExtensionSurface.cs
- ListenerChannelContext.cs
- ErrorProvider.cs
- NativeObjectSecurity.cs
- XmlUTF8TextReader.cs
- Stopwatch.cs
- PersonalizationDictionary.cs
- ImageButton.cs
- DocumentAutomationPeer.cs
- Propagator.JoinPropagator.JoinPredicateVisitor.cs
- TextBounds.cs
- DiscreteKeyFrames.cs
- Models.cs
- UnknownBitmapEncoder.cs
- DataTemplate.cs
- WebPartConnectionsEventArgs.cs
- Quaternion.cs
- SoapElementAttribute.cs
- SelectorAutomationPeer.cs
- DirectionalLight.cs
- StaticFileHandler.cs
- Int32Converter.cs
- ReadContentAsBinaryHelper.cs
- XsdBuilder.cs
- SocketPermission.cs
- LinkLabelLinkClickedEvent.cs
- SchemaImporter.cs
- RsaKeyIdentifierClause.cs
- TextRunCache.cs
- CustomError.cs
- EntityCollectionChangedParams.cs
- Add.cs
- FunctionDescription.cs
- SystemIPGlobalStatistics.cs
- NullableDoubleAverageAggregationOperator.cs
- HostedTransportConfigurationManager.cs
- SqlCommandSet.cs
- HttpInputStream.cs
- TypefaceCollection.cs
- ContextMenu.cs
- DesignerRegionMouseEventArgs.cs
- QueryContext.cs
- PageAsyncTask.cs
- CqlErrorHelper.cs
- WindowHideOrCloseTracker.cs
- FormattedTextSymbols.cs
- ChooseAction.cs
- BezierSegment.cs
- TableLayoutRowStyleCollection.cs
- FigureHelper.cs
- ListView.cs
- DecimalConverter.cs
- XhtmlBasicListAdapter.cs
- SqlDataAdapter.cs
- InteropTrackingRecord.cs
- ISAPIWorkerRequest.cs
- SessionEndedEventArgs.cs
- HtmlInputReset.cs
- NodeInfo.cs
- TextBlockAutomationPeer.cs
- WebConfigurationHostFileChange.cs
- FileUpload.cs
- DrawingServices.cs
- ForeignConstraint.cs
- sqlnorm.cs
- ProcessModelInfo.cs
- TextAnchor.cs
- QuadTree.cs
- RelationshipFixer.cs
- GeometryModel3D.cs
- DataGridViewImageColumn.cs
- Paragraph.cs
- Rules.cs
- ThreadInterruptedException.cs
- CountdownEvent.cs
- CursorConverter.cs
- SqlBulkCopyColumnMappingCollection.cs
- MetricEntry.cs
- ComponentChangedEvent.cs
- CompressedStack.cs
- ADConnectionHelper.cs
- AuthenticatingEventArgs.cs