Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------------------------ // 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, Dictionary boundContracts) { 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
- ButtonField.cs
- ToolStripRenderer.cs
- ZipIOLocalFileBlock.cs
- Process.cs
- NativeMethods.cs
- MimeTypeMapper.cs
- ActivityValidator.cs
- RequestCache.cs
- X509ServiceCertificateAuthenticationElement.cs
- GroupItem.cs
- FixedPageProcessor.cs
- StringBuilder.cs
- CharacterBufferReference.cs
- UInt16.cs
- Activity.cs
- TextRange.cs
- StringCollection.cs
- ParallelDesigner.xaml.cs
- RawStylusSystemGestureInputReport.cs
- versioninfo.cs
- TranslateTransform.cs
- BindingMemberInfo.cs
- OrthographicCamera.cs
- PermissionListSet.cs
- JoinTreeSlot.cs
- TabletDeviceInfo.cs
- DataGridView.cs
- SemanticResultValue.cs
- DataGridViewCellStateChangedEventArgs.cs
- GlyphsSerializer.cs
- MasterPageParser.cs
- ProcessHostServerConfig.cs
- CompatibleComparer.cs
- UpdatePanelTrigger.cs
- SmiGettersStream.cs
- StorageMappingFragment.cs
- GenericPrincipal.cs
- DiffuseMaterial.cs
- XmlSchemaElement.cs
- PagePropertiesChangingEventArgs.cs
- Line.cs
- HttpListenerRequest.cs
- Vars.cs
- Panel.cs
- TargetParameterCountException.cs
- ADConnectionHelper.cs
- PersonalizationStateInfoCollection.cs
- TextInfo.cs
- DisplayMemberTemplateSelector.cs
- KeyValueSerializer.cs
- CodeMemberField.cs
- DateTimeConverter2.cs
- DecimalMinMaxAggregationOperator.cs
- VirtualDirectoryMappingCollection.cs
- DateTimeFormat.cs
- ServiceModelReg.cs
- Pointer.cs
- PropertyItem.cs
- CounterSample.cs
- ControlType.cs
- Typography.cs
- XmlChildEnumerator.cs
- EditBehavior.cs
- TextRunProperties.cs
- DocComment.cs
- RelatedView.cs
- GridItemProviderWrapper.cs
- SQLUtility.cs
- SelectionWordBreaker.cs
- PageThemeCodeDomTreeGenerator.cs
- HtmlTextBoxAdapter.cs
- BackoffTimeoutHelper.cs
- TimestampInformation.cs
- NullEntityWrapper.cs
- CharAnimationUsingKeyFrames.cs
- DataGridRowHeaderAutomationPeer.cs
- EmptyEnumerable.cs
- mediapermission.cs
- UpdateRecord.cs
- RadioButtonPopupAdapter.cs
- IndependentAnimationStorage.cs
- Double.cs
- CompModSwitches.cs
- PopOutPanel.cs
- WebRequestModuleElementCollection.cs
- PrintDocument.cs
- HTTPRemotingHandler.cs
- SystemBrushes.cs
- ScalarOps.cs
- HTTPNotFoundHandler.cs
- DataGridCellsPresenter.cs
- ConsumerConnectionPoint.cs
- MessagePropertyFilter.cs
- WindowsToolbarAsMenu.cs
- Peer.cs
- DataRelationPropertyDescriptor.cs
- BamlLocalizableResourceKey.cs
- PopupEventArgs.cs
- PrintController.cs
- UnorderedHashRepartitionStream.cs