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
- __ComObject.cs
- ButtonStandardAdapter.cs
- _SSPISessionCache.cs
- CreateUserWizardStep.cs
- DecoderFallbackWithFailureFlag.cs
- TextTreeObjectNode.cs
- DataIdProcessor.cs
- XXXInfos.cs
- Module.cs
- Stroke2.cs
- TraceHandler.cs
- ProxyWebPart.cs
- FormClosingEvent.cs
- MetabaseReader.cs
- compensatingcollection.cs
- Crc32Helper.cs
- TrayIconDesigner.cs
- ConfigurationStrings.cs
- CompilerCollection.cs
- XmlSchemaSet.cs
- MemberExpression.cs
- UserNamePasswordValidator.cs
- ReachDocumentReferenceSerializer.cs
- cookie.cs
- LabelExpression.cs
- XmlSerializableReader.cs
- HttpCapabilitiesEvaluator.cs
- WebPartConnectionCollection.cs
- FixedDocumentSequencePaginator.cs
- SqlDuplicator.cs
- NetTcpBinding.cs
- DecoderBestFitFallback.cs
- MonitorWrapper.cs
- WpfKnownMemberInvoker.cs
- EnumValAlphaComparer.cs
- AggregateNode.cs
- DictionaryBase.cs
- filewebresponse.cs
- CultureInfoConverter.cs
- ItemsControlAutomationPeer.cs
- AsnEncodedData.cs
- SchemeSettingElementCollection.cs
- ContentElement.cs
- TriggerActionCollection.cs
- ContractUtils.cs
- Roles.cs
- StylusEventArgs.cs
- BindingBase.cs
- RepeatButton.cs
- ConsoleCancelEventArgs.cs
- DataGridAutoFormatDialog.cs
- TypeLibConverter.cs
- ActivityScheduledRecord.cs
- KeyFrames.cs
- AdornerDecorator.cs
- SelectionRangeConverter.cs
- SoapClientProtocol.cs
- Relationship.cs
- FixedSOMImage.cs
- HttpRawResponse.cs
- SqlException.cs
- SchemaSetCompiler.cs
- Pens.cs
- ConditionValidator.cs
- DocumentApplicationDocumentViewer.cs
- FormView.cs
- EntitySqlException.cs
- CompareInfo.cs
- ConfigurationElementProperty.cs
- Path.cs
- ListControlConvertEventArgs.cs
- TrustManagerMoreInformation.cs
- EventDescriptor.cs
- XmlNamespaceManager.cs
- MergePropertyDescriptor.cs
- ButtonStandardAdapter.cs
- HatchBrush.cs
- BatchParser.cs
- SiteMapPath.cs
- TriggerActionCollection.cs
- DoubleLinkListEnumerator.cs
- QuaternionIndependentAnimationStorage.cs
- CopyOnWriteList.cs
- DocumentXPathNavigator.cs
- OperationResponse.cs
- WindowsToolbarAsMenu.cs
- RootBrowserWindowAutomationPeer.cs
- ProfilePropertySettingsCollection.cs
- DefaultEventAttribute.cs
- LongValidator.cs
- SqlUserDefinedTypeAttribute.cs
- XmlResolver.cs
- ResourceExpression.cs
- String.cs
- Graphics.cs
- remotingproxy.cs
- EventLogEntry.cs
- ComponentTray.cs
- TextEndOfSegment.cs
- XsdBuilder.cs