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
- Quaternion.cs
- ImportContext.cs
- DynamicExpression.cs
- FixedSOMGroup.cs
- PropertyEmitterBase.cs
- UserPreferenceChangingEventArgs.cs
- TextBounds.cs
- CharStorage.cs
- AggregateNode.cs
- IndexerReference.cs
- CatalogZone.cs
- DbException.cs
- CodeTypeOfExpression.cs
- MembershipUser.cs
- SchemaCollectionPreprocessor.cs
- DocumentViewerConstants.cs
- LinkUtilities.cs
- DataListItemEventArgs.cs
- ProfileSettingsCollection.cs
- DefaultTraceListener.cs
- ElementNotEnabledException.cs
- DeflateStreamAsyncResult.cs
- CalendarAutoFormatDialog.cs
- precedingsibling.cs
- ReliableMessagingVersionConverter.cs
- StorageMappingFragment.cs
- TreeBuilder.cs
- XmlHierarchyData.cs
- ToggleProviderWrapper.cs
- RadioButtonList.cs
- ConfigurationException.cs
- DupHandleConnectionReader.cs
- StringPropertyBuilder.cs
- OdbcDataAdapter.cs
- ValueChangedEventManager.cs
- KeyPressEvent.cs
- ConstructorNeedsTagAttribute.cs
- GlobalizationAssembly.cs
- regiisutil.cs
- XmlSubtreeReader.cs
- InfoCardSymmetricCrypto.cs
- ProtocolViolationException.cs
- SimpleBitVector32.cs
- TransformedBitmap.cs
- ReadOnlyPropertyMetadata.cs
- TimeSpanParse.cs
- ProfileSection.cs
- MediaElement.cs
- System.Data_BID.cs
- OleDbCommand.cs
- _SslStream.cs
- ChineseLunisolarCalendar.cs
- CalendarButton.cs
- EncryptedType.cs
- Viewport3DVisual.cs
- CacheEntry.cs
- AbsoluteQuery.cs
- Int32RectConverter.cs
- AnimationTimeline.cs
- EditorPartDesigner.cs
- ClientBuildManagerTypeDescriptionProviderBridge.cs
- CopyOnWriteList.cs
- DSASignatureDeformatter.cs
- SendOperation.cs
- RuntimeCompatibilityAttribute.cs
- OwnerDrawPropertyBag.cs
- GradientBrush.cs
- Line.cs
- CodeConstructor.cs
- SchemaAttDef.cs
- Pts.cs
- PageContentCollection.cs
- AppDomain.cs
- SmtpNtlmAuthenticationModule.cs
- SessionSwitchEventArgs.cs
- ExtentKey.cs
- Button.cs
- DispatchChannelSink.cs
- CodeTypeParameterCollection.cs
- SystemNetworkInterface.cs
- BaseValidator.cs
- PenLineJoinValidation.cs
- FixedDocumentPaginator.cs
- TriggerBase.cs
- IsolatedStorageException.cs
- CompilationAssemblyInstallComponent.cs
- versioninfo.cs
- InputLangChangeEvent.cs
- MenuItemAutomationPeer.cs
- TTSVoice.cs
- TableCell.cs
- QuaternionKeyFrameCollection.cs
- EndpointConfigContainer.cs
- UnSafeCharBuffer.cs
- odbcmetadatacolumnnames.cs
- HtmlEmptyTagControlBuilder.cs
- SelectionItemProviderWrapper.cs
- PrePostDescendentsWalker.cs
- CalendarData.cs
- StringAnimationUsingKeyFrames.cs