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
- WindowsStatusBar.cs
- HitTestParameters3D.cs
- ArrayList.cs
- SafeMemoryMappedFileHandle.cs
- HttpApplication.cs
- EntityDataSourceReferenceGroup.cs
- EndpointInfo.cs
- Cell.cs
- TypefaceMetricsCache.cs
- RuleDefinitions.cs
- TemplateField.cs
- ObjectToIdCache.cs
- SoapDocumentServiceAttribute.cs
- SharedConnectionInfo.cs
- _UriTypeConverter.cs
- ThrowHelper.cs
- WeakHashtable.cs
- EventLogPropertySelector.cs
- ToolStripPanel.cs
- DispatcherExceptionEventArgs.cs
- DocobjHost.cs
- Operator.cs
- CopyNamespacesAction.cs
- TextSelectionHighlightLayer.cs
- NumericUpDownAccelerationCollection.cs
- RadioButtonPopupAdapter.cs
- GridItem.cs
- codemethodreferenceexpression.cs
- SQLInt16.cs
- HttpWriter.cs
- NavigatorInvalidBodyAccessException.cs
- MediaElement.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- ConfigurationValue.cs
- elementinformation.cs
- DockAndAnchorLayout.cs
- DataSourceSelectArguments.cs
- ViewBase.cs
- TaskForm.cs
- ResourceLoader.cs
- BuildProvider.cs
- ClassicBorderDecorator.cs
- StorageEntityTypeMapping.cs
- MarshalDirectiveException.cs
- MimeFormatter.cs
- WebBodyFormatMessageProperty.cs
- ContextQuery.cs
- PackageRelationshipSelector.cs
- UrlMappingCollection.cs
- BmpBitmapEncoder.cs
- SqlDuplicator.cs
- RunClient.cs
- NameObjectCollectionBase.cs
- TCPListener.cs
- DependencyObject.cs
- ControlBindingsCollection.cs
- EasingKeyFrames.cs
- VScrollProperties.cs
- ExeContext.cs
- XPathNode.cs
- UserInitiatedNavigationPermission.cs
- WebBrowserBase.cs
- HttpSysSettings.cs
- MenuItemBindingCollection.cs
- EnvelopeVersion.cs
- QueryCursorEventArgs.cs
- RegexCode.cs
- LoadedOrUnloadedOperation.cs
- ExpressionNormalizer.cs
- DataControlButton.cs
- SQLBytesStorage.cs
- FlowDocumentPage.cs
- X509Utils.cs
- X509SubjectKeyIdentifierClause.cs
- NetNamedPipeBindingElement.cs
- MultiView.cs
- CookielessHelper.cs
- DelegatedStream.cs
- ConfigXmlComment.cs
- ListManagerBindingsCollection.cs
- Substitution.cs
- SafeBitVector32.cs
- RepeatInfo.cs
- ValidationSummary.cs
- SymbolTable.cs
- SiteMapNodeItemEventArgs.cs
- FormViewAutoFormat.cs
- GetLedgerRequest.cs
- StandardCommandToolStripMenuItem.cs
- TransformGroup.cs
- ThreadNeutralSemaphore.cs
- FolderBrowserDialog.cs
- COM2ComponentEditor.cs
- DecimalAnimationUsingKeyFrames.cs
- Int64Storage.cs
- TemplateControlParser.cs
- RankException.cs
- SettingsPropertyWrongTypeException.cs
- MimeObjectFactory.cs
- BackgroundWorker.cs