Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / Serialization / System / Runtime / Serialization / GenericParameterDataContract.cs / 1305376 / GenericParameterDataContract.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Runtime.Serialization { using System; using System.Collections.Generic; using System.Security; sealed class GenericParameterDataContract : 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] GenericParameterDataContractCriticalHelper helper; [Fx.Tag.SecurityNote(Critical = "Initializes SecurityCritical field 'helper'.", Safe = "Doesn't leak anything.")] [SecuritySafeCritical] internal GenericParameterDataContract(Type type) : base(new GenericParameterDataContractCriticalHelper(type)) { helper = base.Helper as GenericParameterDataContractCriticalHelper; } internal int ParameterPosition { [Fx.Tag.SecurityNote(Critical = "Fetches the critical ParameterPosition property.", Safe = "ParameterPosition only needs to be protected for write.")] [SecuritySafeCritical] get { return helper.ParameterPosition; } } internal override bool IsBuiltInDataContract { get { return true; } } [Fx.Tag.SecurityNote(Critical = "Holds state used for deaing with generic parameters." + " Since the data is cached statically, we lock down access to it.")] [SecurityCritical(SecurityCriticalScope.Everything)] class GenericParameterDataContractCriticalHelper : DataContract.DataContractCriticalHelper { int parameterPosition; internal GenericParameterDataContractCriticalHelper(Type type) : base(type) { SetDataContractName(DataContract.GetStableName(type)); this.parameterPosition = type.GenericParameterPosition; } internal int ParameterPosition { get { return parameterPosition; } } } internal override DataContract BindGenericParameters(DataContract[] paramContracts, DictionaryboundContracts) { return paramContracts[ParameterPosition]; } } } // 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
- CollectionCodeDomSerializer.cs
- ConfigurationElementProperty.cs
- Cloud.cs
- Soap.cs
- AssemblySettingAttributes.cs
- TextServicesCompartment.cs
- CultureInfoConverter.cs
- PrivilegedConfigurationManager.cs
- ActiveXHost.cs
- SoapHeaderException.cs
- HttpCapabilitiesBase.cs
- Scheduler.cs
- ImportCatalogPart.cs
- KeyValueInternalCollection.cs
- SBCSCodePageEncoding.cs
- TriggerCollection.cs
- XmlSignatureProperties.cs
- EncoderParameter.cs
- Stylus.cs
- BaseTemplatedMobileComponentEditor.cs
- WSSecurityPolicy12.cs
- Propagator.cs
- _SslState.cs
- DecoderReplacementFallback.cs
- QilTernary.cs
- InputLanguageEventArgs.cs
- FilterableAttribute.cs
- Panel.cs
- ByteAnimationUsingKeyFrames.cs
- WinFormsSpinner.cs
- Span.cs
- AnimatedTypeHelpers.cs
- DataBoundLiteralControl.cs
- Model3DGroup.cs
- MultipartContentParser.cs
- ScalarOps.cs
- MenuCommandsChangedEventArgs.cs
- TaskbarItemInfo.cs
- BuildTopDownAttribute.cs
- ArraySortHelper.cs
- TextEditorTables.cs
- ComponentResourceKey.cs
- PnrpPeerResolver.cs
- PixelFormatConverter.cs
- EpmCustomContentSerializer.cs
- WinEventTracker.cs
- WebPartTransformer.cs
- XmlNodeComparer.cs
- SurrogateDataContract.cs
- OutputCacheModule.cs
- IconHelper.cs
- EntryPointNotFoundException.cs
- Focus.cs
- ReturnValue.cs
- DecoratedNameAttribute.cs
- GlobalizationAssembly.cs
- ApplicationBuildProvider.cs
- URLString.cs
- ListSourceHelper.cs
- EpmSyndicationContentSerializer.cs
- XPathDocumentNavigator.cs
- CompressedStack.cs
- Restrictions.cs
- Schema.cs
- PropertyMetadata.cs
- RepeatInfo.cs
- Module.cs
- localization.cs
- Compiler.cs
- EntityDataSourceSelectedEventArgs.cs
- CacheVirtualItemsEvent.cs
- GlobalDataBindingHandler.cs
- ValidatorCompatibilityHelper.cs
- HierarchicalDataSourceDesigner.cs
- AuthorizationRule.cs
- DrawingAttributesDefaultValueFactory.cs
- UpdateDelegates.Generated.cs
- ObjectContext.cs
- MimeWriter.cs
- MdiWindowListStrip.cs
- ResourceReferenceExpression.cs
- ExpandableObjectConverter.cs
- _FixedSizeReader.cs
- RootBrowserWindow.cs
- SchemaImporterExtensionElementCollection.cs
- ServicePointManager.cs
- WebBrowserEvent.cs
- ExpanderAutomationPeer.cs
- ToolStripRenderer.cs
- TableLayoutPanel.cs
- TextFormatterHost.cs
- SecurityHeaderLayout.cs
- DataServiceQuery.cs
- StaticExtension.cs
- DrawingContextDrawingContextWalker.cs
- DataGridViewColumnCollection.cs
- ToolBarOverflowPanel.cs
- Hyperlink.cs
- GlobalizationSection.cs
- HitTestDrawingContextWalker.cs