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
- ConfigXmlAttribute.cs
- HitTestResult.cs
- LogEntry.cs
- IntSecurity.cs
- CellQuery.cs
- PipelineModuleStepContainer.cs
- WebBrowsableAttribute.cs
- XmlNamespaceDeclarationsAttribute.cs
- DLinqAssociationProvider.cs
- HMACSHA384.cs
- RemoteWebConfigurationHost.cs
- DbException.cs
- TextRangeAdaptor.cs
- LayoutUtils.cs
- DataListDesigner.cs
- PermissionSetEnumerator.cs
- ColumnResult.cs
- RowToFieldTransformer.cs
- UriWriter.cs
- Signature.cs
- KeyTimeConverter.cs
- DataControlLinkButton.cs
- ReachIDocumentPaginatorSerializer.cs
- SqlMethodTransformer.cs
- StructuredType.cs
- DnsEndpointIdentity.cs
- DataGridViewTextBoxCell.cs
- SecurityException.cs
- CompiledIdentityConstraint.cs
- ConfigurationFileMap.cs
- XmlSchemas.cs
- TokenCreationException.cs
- ScrollProperties.cs
- Listener.cs
- SqlUserDefinedTypeAttribute.cs
- AnnotationComponentChooser.cs
- LoadGrammarCompletedEventArgs.cs
- TriggerBase.cs
- StructuredType.cs
- RoutedCommand.cs
- WebServiceFaultDesigner.cs
- HuffCodec.cs
- SqlDataSourceQuery.cs
- BasicViewGenerator.cs
- StylusPlugInCollection.cs
- CodeArrayIndexerExpression.cs
- DynamicQueryableWrapper.cs
- Int16.cs
- Int64Storage.cs
- GridViewHeaderRowPresenter.cs
- Version.cs
- DiagnosticsConfiguration.cs
- MobileListItemCollection.cs
- Int64Animation.cs
- ConfigurationSettings.cs
- NameValueCollection.cs
- DependencyPropertyChangedEventArgs.cs
- ExpressionBuilder.cs
- FontSource.cs
- RegionData.cs
- FunctionNode.cs
- Comparer.cs
- PropertyPushdownHelper.cs
- PassportAuthenticationModule.cs
- Pool.cs
- XmlSchemaProviderAttribute.cs
- CFStream.cs
- ImportCatalogPart.cs
- ChangeProcessor.cs
- SqlDataSourceQueryEditorForm.cs
- FrameSecurityDescriptor.cs
- HitTestDrawingContextWalker.cs
- DynamicDocumentPaginator.cs
- SoapObjectWriter.cs
- X509ClientCertificateAuthenticationElement.cs
- FacetChecker.cs
- ResourceContainer.cs
- HtmlTableRow.cs
- RealizationContext.cs
- WebPartDeleteVerb.cs
- XmlSchemaSimpleContentExtension.cs
- CaseInsensitiveOrdinalStringComparer.cs
- ErrorFormatterPage.cs
- DataGridCellItemAutomationPeer.cs
- SymbolEqualComparer.cs
- UniqueConstraint.cs
- _DigestClient.cs
- ListControl.cs
- InvalidTimeZoneException.cs
- WebSysDefaultValueAttribute.cs
- UnknownExceptionActionHelper.cs
- ResourceContainer.cs
- CollectionViewGroupRoot.cs
- File.cs
- UnionQueryOperator.cs
- FixedDocumentPaginator.cs
- ListBoxItemWrapperAutomationPeer.cs
- ManipulationBoundaryFeedbackEventArgs.cs
- SharedUtils.cs
- Stack.cs