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
- WebPartEditorCancelVerb.cs
- UnorderedHashRepartitionStream.cs
- DragDeltaEventArgs.cs
- DbInsertCommandTree.cs
- MailMessageEventArgs.cs
- CloseSequence.cs
- DbConnectionPoolGroup.cs
- SmtpFailedRecipientException.cs
- ValidationSummary.cs
- AssemblyFilter.cs
- XamlStyleSerializer.cs
- EntityDataSourceDataSelection.cs
- XmlILStorageConverter.cs
- Evaluator.cs
- DoubleIndependentAnimationStorage.cs
- ProviderSettings.cs
- TemplateBamlTreeBuilder.cs
- PropertyStore.cs
- HttpApplicationFactory.cs
- LongTypeConverter.cs
- ErrorWrapper.cs
- SelectionRangeConverter.cs
- StylusPointPropertyInfoDefaults.cs
- EmptyEnumerator.cs
- ZipFileInfoCollection.cs
- ReflectionUtil.cs
- CursorConverter.cs
- DataGrid.cs
- EntityDataSourceDesigner.cs
- LayoutDump.cs
- OleDbException.cs
- Dictionary.cs
- BoundingRectTracker.cs
- CodeAttributeDeclarationCollection.cs
- XpsPackagingException.cs
- DesignTimeParseData.cs
- SqlFunctionAttribute.cs
- DataView.cs
- _HeaderInfoTable.cs
- MailBnfHelper.cs
- MainMenu.cs
- SelectionItemProviderWrapper.cs
- PathSegmentCollection.cs
- Span.cs
- StylusPointDescription.cs
- ZipIOLocalFileBlock.cs
- WaitHandle.cs
- XsltSettings.cs
- TypeToStringValueConverter.cs
- CorrelationValidator.cs
- NetworkInformationPermission.cs
- SubclassTypeValidatorAttribute.cs
- ModuleBuilderData.cs
- CachedPathData.cs
- UserNamePasswordValidator.cs
- HashMembershipCondition.cs
- TextHidden.cs
- ObfuscateAssemblyAttribute.cs
- WizardStepBase.cs
- PolyQuadraticBezierSegment.cs
- SqlUDTStorage.cs
- RequiredFieldValidator.cs
- DataBindingExpressionBuilder.cs
- SqlTriggerContext.cs
- OdbcFactory.cs
- HierarchicalDataBoundControlAdapter.cs
- SchemaType.cs
- TimeSpanStorage.cs
- LocalizeDesigner.cs
- XmlNamespaceManager.cs
- BinHexEncoder.cs
- FakeModelItemImpl.cs
- FrameworkContentElementAutomationPeer.cs
- MaskedTextBox.cs
- SimpleLine.cs
- PackageDigitalSignatureManager.cs
- SynchronizingStream.cs
- UserCancellationException.cs
- SvcMapFile.cs
- CorruptingExceptionCommon.cs
- ExpressionNormalizer.cs
- HostExecutionContextManager.cs
- TreeSet.cs
- Vertex.cs
- CollectionExtensions.cs
- WpfXamlMember.cs
- BlobPersonalizationState.cs
- EntryIndex.cs
- Rect3DValueSerializer.cs
- Pair.cs
- Enum.cs
- ObjectNotFoundException.cs
- SQLMoney.cs
- GcHandle.cs
- XmlSchemaSimpleTypeList.cs
- CoTaskMemSafeHandle.cs
- EventsTab.cs
- StringValueSerializer.cs
- XmlSchemaComplexContentRestriction.cs
- PolyBezierSegment.cs