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
- FlowDocumentScrollViewer.cs
- TextAutomationPeer.cs
- HtmlSelect.cs
- TextFormatterImp.cs
- DebuggerAttributes.cs
- ShimAsPublicXamlType.cs
- DataGridViewHitTestInfo.cs
- Profiler.cs
- StorageMappingItemCollection.cs
- BorderSidesEditor.cs
- RootDesignerSerializerAttribute.cs
- Baml2006ReaderSettings.cs
- CollectionBase.cs
- OutputCacheSettingsSection.cs
- ToolStripButton.cs
- TreeViewEvent.cs
- SqlComparer.cs
- EventSinkActivity.cs
- SmtpAuthenticationManager.cs
- DataGridViewSelectedRowCollection.cs
- TypeGeneratedEventArgs.cs
- ThreadExceptionDialog.cs
- HwndKeyboardInputProvider.cs
- Helper.cs
- Profiler.cs
- CollectionTypeElement.cs
- WebBaseEventKeyComparer.cs
- FixedSOMPageConstructor.cs
- XmlPreloadedResolver.cs
- NativeWindow.cs
- Listbox.cs
- DynamicResourceExtensionConverter.cs
- RegexTree.cs
- KerberosReceiverSecurityToken.cs
- DataContractJsonSerializer.cs
- SequentialActivityDesigner.cs
- MsmqHostedTransportConfiguration.cs
- clipboard.cs
- TimeZoneInfo.cs
- DesignerCalendarAdapter.cs
- DataGridViewCellValidatingEventArgs.cs
- DataTablePropertyDescriptor.cs
- NotImplementedException.cs
- Psha1DerivedKeyGenerator.cs
- OutOfMemoryException.cs
- BCLDebug.cs
- _NtlmClient.cs
- CachingHintValidation.cs
- PlainXmlSerializer.cs
- SiteMapDataSourceDesigner.cs
- SystemException.cs
- Itemizer.cs
- WebPartCancelEventArgs.cs
- BindingMemberInfo.cs
- MethodBuilderInstantiation.cs
- RenderContext.cs
- ButtonField.cs
- MarkupCompiler.cs
- Activator.cs
- SocketException.cs
- OutArgument.cs
- WindowsButton.cs
- xdrvalidator.cs
- ProfileProvider.cs
- ExclusiveCanonicalizationTransform.cs
- Psha1DerivedKeyGeneratorHelper.cs
- XmlImplementation.cs
- MsmqOutputMessage.cs
- NamespaceInfo.cs
- SemanticTag.cs
- _PooledStream.cs
- __Filters.cs
- FormatVersion.cs
- LogicalExpr.cs
- XhtmlConformanceSection.cs
- CacheSection.cs
- CodeTryCatchFinallyStatement.cs
- XmlWriter.cs
- InstanceHandleConflictException.cs
- TypeViewSchema.cs
- ResourceLoader.cs
- HttpCachePolicy.cs
- Utils.cs
- CompilerWrapper.cs
- ConnectionStringsExpressionBuilder.cs
- StoreItemCollection.Loader.cs
- ModelService.cs
- CounterCreationDataConverter.cs
- MergeLocalizationDirectives.cs
- ReadOnlyHierarchicalDataSource.cs
- ConnectorRouter.cs
- Regex.cs
- BaseTemplateBuildProvider.cs
- ExpandSegment.cs
- DataFormats.cs
- OracleDataAdapter.cs
- GridViewRowEventArgs.cs
- XmlMtomWriter.cs
- JsonGlobals.cs
- WsatConfiguration.cs