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
- Metadata.cs
- HttpPostProtocolReflector.cs
- coordinatorfactory.cs
- CannotUnloadAppDomainException.cs
- RangeValuePattern.cs
- AddingNewEventArgs.cs
- BamlLocalizabilityResolver.cs
- DataGridViewBindingCompleteEventArgs.cs
- MaterialGroup.cs
- XmlHierarchicalDataSourceView.cs
- TouchesCapturedWithinProperty.cs
- SerializerProvider.cs
- _Rfc2616CacheValidators.cs
- EraserBehavior.cs
- BufferBuilder.cs
- ImageList.cs
- ReferenceEqualityComparer.cs
- OracleBoolean.cs
- ArrayExtension.cs
- SoapAttributes.cs
- ConnectivityStatus.cs
- CodeBinaryOperatorExpression.cs
- DocumentXPathNavigator.cs
- Main.cs
- TypeBuilder.cs
- RubberbandSelector.cs
- SafeArrayRankMismatchException.cs
- sqlnorm.cs
- ParserExtension.cs
- AssemblySettingAttributes.cs
- XmlSchemaObjectCollection.cs
- DrawingServices.cs
- Bind.cs
- Lasso.cs
- IdleTimeoutMonitor.cs
- EntityWithChangeTrackerStrategy.cs
- MediaContextNotificationWindow.cs
- ParameterBuilder.cs
- DoubleUtil.cs
- FixedLineResult.cs
- GatewayDefinition.cs
- SignatureDescription.cs
- DataServiceClientException.cs
- GPRECTF.cs
- ComboBox.cs
- ObjectMemberMapping.cs
- Compensate.cs
- AddInStore.cs
- TextModifierScope.cs
- GridErrorDlg.cs
- TextRenderer.cs
- DoubleCollectionValueSerializer.cs
- ItemTypeToolStripMenuItem.cs
- CachedTypeface.cs
- CodeEventReferenceExpression.cs
- ScriptingScriptResourceHandlerSection.cs
- ClientWindowsAuthenticationMembershipProvider.cs
- UserPreferenceChangingEventArgs.cs
- XhtmlConformanceSection.cs
- CroppedBitmap.cs
- FileNotFoundException.cs
- TextParaClient.cs
- SqlFunctionAttribute.cs
- ToolStripPanelDesigner.cs
- ZoneIdentityPermission.cs
- RandomNumberGenerator.cs
- FieldTemplateUserControl.cs
- MetaChildrenColumn.cs
- ApplicationException.cs
- BrowserDefinitionCollection.cs
- StrongNameIdentityPermission.cs
- DataPagerFieldItem.cs
- ZipIOModeEnforcingStream.cs
- ToolStripPanel.cs
- FSWPathEditor.cs
- TaskFileService.cs
- NullRuntimeConfig.cs
- JpegBitmapDecoder.cs
- NestedContainer.cs
- MdbDataFileEditor.cs
- MetaColumn.cs
- CacheMemory.cs
- ColorTransform.cs
- ModelUIElement3D.cs
- SectionInput.cs
- Region.cs
- Random.cs
- InternalConfigSettingsFactory.cs
- PaperSource.cs
- DependencyProperty.cs
- OdbcConnectionStringbuilder.cs
- TreeNode.cs
- XmlIlVisitor.cs
- PingOptions.cs
- ProfilePropertyNameValidator.cs
- SQLSingle.cs
- StrokeNodeData.cs
- Documentation.cs
- UndoEngine.cs
- ForEachAction.cs