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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ListManagerBindingsCollection.cs
- LinkUtilities.cs
- NotCondition.cs
- CompilationLock.cs
- TemplateNodeContextMenu.cs
- FusionWrap.cs
- ApplicationFileCodeDomTreeGenerator.cs
- TextWriter.cs
- InvariantComparer.cs
- WebPartConnectionsCancelEventArgs.cs
- PrintPageEvent.cs
- TagElement.cs
- AuthorizationSection.cs
- DSASignatureDeformatter.cs
- PropertyChangedEventArgs.cs
- SkewTransform.cs
- ToolStripCustomTypeDescriptor.cs
- ParserHooks.cs
- LogExtentCollection.cs
- Timer.cs
- mediapermission.cs
- ContentControl.cs
- AssemblyResourceLoader.cs
- metrodevice.cs
- AnalyzedTree.cs
- CodeTypeConstructor.cs
- RSAPKCS1SignatureFormatter.cs
- ReadOnlyHierarchicalDataSourceView.cs
- ImageCreator.cs
- SmtpReplyReaderFactory.cs
- versioninfo.cs
- ScriptReferenceEventArgs.cs
- DesignerObject.cs
- ObjRef.cs
- WSSecurityPolicy.cs
- AudioException.cs
- SecurityCapabilities.cs
- TextDecoration.cs
- CodeTypeReferenceCollection.cs
- FileLevelControlBuilderAttribute.cs
- CategoryNameCollection.cs
- ConsumerConnectionPoint.cs
- FileLevelControlBuilderAttribute.cs
- XmlILIndex.cs
- FragmentQueryKB.cs
- TableColumn.cs
- ServiceAuthorizationManager.cs
- ConnectionConsumerAttribute.cs
- BitmapSizeOptions.cs
- FormViewDeletedEventArgs.cs
- SearchForVirtualItemEventArgs.cs
- GroupQuery.cs
- Nullable.cs
- AnnotationObservableCollection.cs
- BigInt.cs
- KeyFrames.cs
- EventManager.cs
- Configuration.cs
- PropertyStore.cs
- ReadWriteSpinLock.cs
- PagerStyle.cs
- _SecureChannel.cs
- ResourceExpression.cs
- HttpRuntime.cs
- IndentedTextWriter.cs
- ExceptionUtil.cs
- _LazyAsyncResult.cs
- PeerInvitationResponse.cs
- DataList.cs
- PropertyInfoSet.cs
- NativeStructs.cs
- ArrayMergeHelper.cs
- SpellerError.cs
- MimeFormReflector.cs
- CreateUserWizardAutoFormat.cs
- SingleAnimationBase.cs
- OdbcStatementHandle.cs
- ManagementExtension.cs
- PassportAuthenticationModule.cs
- TimerElapsedEvenArgs.cs
- RangeBaseAutomationPeer.cs
- SerializationFieldInfo.cs
- ContentType.cs
- TimeSpanSecondsConverter.cs
- Dynamic.cs
- RestHandlerFactory.cs
- DataTableTypeConverter.cs
- ToolStripPanelRenderEventArgs.cs
- CurrencyWrapper.cs
- InputBinding.cs
- SelectionRangeConverter.cs
- ToolTip.cs
- SweepDirectionValidation.cs
- ExpressionEditorAttribute.cs
- GridViewUpdatedEventArgs.cs
- Int64Storage.cs
- PropertyDescriptor.cs
- SchemaComplexType.cs
- TreeNodeStyle.cs
- PartialList.cs