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
- BamlLocalizabilityResolver.cs
- CombinedHttpChannel.cs
- CustomTrackingQuery.cs
- backend.cs
- LoginCancelEventArgs.cs
- ConfigXmlWhitespace.cs
- TableStyle.cs
- CompiledXpathExpr.cs
- NativeCompoundFileAPIs.cs
- DesignSurfaceServiceContainer.cs
- DispatcherOperation.cs
- DataContractSerializer.cs
- SqlUtils.cs
- RoutedCommand.cs
- AuthenticationException.cs
- TypeBuilder.cs
- Duration.cs
- BrowserCapabilitiesFactoryBase.cs
- DataFieldEditor.cs
- IndexerNameAttribute.cs
- SkewTransform.cs
- RelationshipManager.cs
- StringStorage.cs
- ContourSegment.cs
- DBParameter.cs
- DbBuffer.cs
- IconConverter.cs
- SqlExpressionNullability.cs
- LayoutEditorPart.cs
- PersonalizationStateInfo.cs
- BypassElement.cs
- XComponentModel.cs
- Emitter.cs
- XmlSchemaRedefine.cs
- TimelineCollection.cs
- ConfigurationElementCollection.cs
- ToolstripProfessionalRenderer.cs
- QueryOptionExpression.cs
- HyperLinkField.cs
- PackageRelationshipSelector.cs
- EastAsianLunisolarCalendar.cs
- SqlRecordBuffer.cs
- Decoder.cs
- BeginGetFileNameFromUserRequest.cs
- ClientRolePrincipal.cs
- FormatterConverter.cs
- TextBox.cs
- SymLanguageVendor.cs
- DataGridViewImageCell.cs
- Char.cs
- ValueQuery.cs
- GridItemProviderWrapper.cs
- TrackingMemoryStream.cs
- BitmapEffectrendercontext.cs
- InputScope.cs
- xsdvalidator.cs
- QilFactory.cs
- WebConfigurationManager.cs
- Comparer.cs
- ChtmlTextWriter.cs
- DLinqColumnProvider.cs
- Action.cs
- FontSourceCollection.cs
- DependencyPropertyValueSerializer.cs
- ValidationPropertyAttribute.cs
- RpcResponse.cs
- Convert.cs
- HtmlSelect.cs
- AccessControlEntry.cs
- MSAAWinEventWrap.cs
- DataObjectFieldAttribute.cs
- TextMessageEncoder.cs
- IgnoreSection.cs
- ImageField.cs
- DataGridViewSelectedColumnCollection.cs
- QilExpression.cs
- AnnotationComponentChooser.cs
- EventLogReader.cs
- ResourcePermissionBase.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- XamlDesignerSerializationManager.cs
- ClientRoleProvider.cs
- CanonicalFontFamilyReference.cs
- X509CertificateClaimSet.cs
- XhtmlConformanceSection.cs
- DecodeHelper.cs
- ReadOnlyDataSourceView.cs
- XmlDocument.cs
- MetadataWorkspace.cs
- DefaultAuthorizationContext.cs
- DefaultObjectMappingItemCollection.cs
- SiteMembershipCondition.cs
- Matrix.cs
- RewritingPass.cs
- ArgIterator.cs
- Trace.cs
- AddInDeploymentState.cs
- DictionaryMarkupSerializer.cs
- PropertyPath.cs
- objectresult_tresulttype.cs