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
- XmlSchemaAny.cs
- TreeViewItemAutomationPeer.cs
- DataSetMappper.cs
- SqlDataReaderSmi.cs
- AsymmetricSignatureFormatter.cs
- COSERVERINFO.cs
- SerialPinChanges.cs
- WmlFormAdapter.cs
- DataComponentNameHandler.cs
- ParameterCollectionEditorForm.cs
- DataComponentGenerator.cs
- Tile.cs
- PrtCap_Public.cs
- SpeechSeg.cs
- UriScheme.cs
- EarlyBoundInfo.cs
- PenLineJoinValidation.cs
- UniqueEventHelper.cs
- StylusPlugin.cs
- RSAProtectedConfigurationProvider.cs
- _LoggingObject.cs
- SapiInterop.cs
- CssStyleCollection.cs
- ProcessRequestArgs.cs
- Screen.cs
- WebBrowserUriTypeConverter.cs
- StringAnimationBase.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- Form.cs
- TrackingDataItemValue.cs
- DataGridItemCollection.cs
- ErrorItem.cs
- OletxEnlistment.cs
- SystemIcmpV6Statistics.cs
- ButtonChrome.cs
- ArraySubsetEnumerator.cs
- LogicalTreeHelper.cs
- TypeContext.cs
- SpeakInfo.cs
- HttpsHostedTransportConfiguration.cs
- WindowsListViewItemCheckBox.cs
- FrameworkReadOnlyPropertyMetadata.cs
- Decimal.cs
- DynamicQueryableWrapper.cs
- TemplatePropertyEntry.cs
- BitmapMetadataBlob.cs
- Identity.cs
- compensatingcollection.cs
- LocatorManager.cs
- OpenFileDialog.cs
- TemplatedAdorner.cs
- CodeLabeledStatement.cs
- DataPagerField.cs
- DataGridViewCheckBoxColumn.cs
- PageContentAsyncResult.cs
- ServiceOperationParameter.cs
- DtdParser.cs
- DesignerCategoryAttribute.cs
- Root.cs
- SmiTypedGetterSetter.cs
- Pair.cs
- CommonObjectSecurity.cs
- precedingsibling.cs
- PasswordBox.cs
- DataGridViewRowPostPaintEventArgs.cs
- ReaderContextStackData.cs
- LinkLabelLinkClickedEvent.cs
- DocumentEventArgs.cs
- CodeTypeDeclarationCollection.cs
- AlgoModule.cs
- WebPartHeaderCloseVerb.cs
- HyperLink.cs
- ExpressionPrefixAttribute.cs
- HtmlElement.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- ValidationUtility.cs
- ValidatorCollection.cs
- CollectionDataContract.cs
- GridSplitter.cs
- ProfileGroupSettingsCollection.cs
- ViewStateModeByIdAttribute.cs
- SecurityTokenInclusionMode.cs
- ConfigurationValidatorAttribute.cs
- XmlIlGenerator.cs
- ProviderUtil.cs
- SoundPlayer.cs
- SqlStatistics.cs
- AssemblyAttributesGoHere.cs
- IdentifierCreationService.cs
- PositiveTimeSpanValidator.cs
- ViewCellSlot.cs
- DataGridTable.cs
- DecimalConverter.cs
- DesignerWebPartChrome.cs
- NetworkCredential.cs
- IDQuery.cs
- TranslateTransform3D.cs
- ArgumentException.cs
- ToolStripItemImageRenderEventArgs.cs
- DoWorkEventArgs.cs