Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SqlConnectionPoolGroupProviderInfo.cs
- Compiler.cs
- InputMethod.cs
- BaseComponentEditor.cs
- WindowsFont.cs
- PreviewPrintController.cs
- Rotation3D.cs
- EntityDescriptor.cs
- JumpList.cs
- WindowsNonControl.cs
- ADMembershipProvider.cs
- COM2EnumConverter.cs
- PerformanceCounterPermission.cs
- CookieProtection.cs
- SettingsSavedEventArgs.cs
- ViewStateException.cs
- Normalization.cs
- XmlSchemaRedefine.cs
- UInt32.cs
- PrinterUnitConvert.cs
- ConfigurationValidatorBase.cs
- Int32Collection.cs
- TripleDES.cs
- XmlILConstructAnalyzer.cs
- DataBindEngine.cs
- SafeFileHandle.cs
- ToolStripContentPanel.cs
- ScanQueryOperator.cs
- PagedDataSource.cs
- PackagePartCollection.cs
- C14NUtil.cs
- XmlSchemaAnyAttribute.cs
- HtmlDocument.cs
- RuleRef.cs
- RijndaelManaged.cs
- ReadingWritingEntityEventArgs.cs
- NetSectionGroup.cs
- OutputCacheSettingsSection.cs
- TdsParser.cs
- XmlTextWriter.cs
- PrinterResolution.cs
- TimeSpan.cs
- EntityDataSource.cs
- FormsAuthenticationConfiguration.cs
- ValueUtilsSmi.cs
- DataSourceProvider.cs
- IteratorFilter.cs
- MemberExpression.cs
- Baml2006Reader.cs
- RectangleF.cs
- TracePayload.cs
- QueryParameter.cs
- GenericsNotImplementedException.cs
- MatrixConverter.cs
- EntityContainerEmitter.cs
- WorkflowInstance.cs
- UntrustedRecipientException.cs
- ProfileServiceManager.cs
- DoubleKeyFrameCollection.cs
- DataBindingHandlerAttribute.cs
- WebEventTraceProvider.cs
- FileClassifier.cs
- RoleService.cs
- FixedTextPointer.cs
- ReceiveMessageRecord.cs
- ZipIOBlockManager.cs
- RegexRunnerFactory.cs
- RecordConverter.cs
- InvalidateEvent.cs
- ServiceBusyException.cs
- DataControlField.cs
- AssemblyHash.cs
- ClientUrlResolverWrapper.cs
- EdmSchemaAttribute.cs
- TextModifierScope.cs
- PlanCompiler.cs
- ImageDrawing.cs
- HiddenFieldPageStatePersister.cs
- WorkflowExecutor.cs
- StringValueSerializer.cs
- infer.cs
- TileBrush.cs
- QualificationDataItem.cs
- ProcessManager.cs
- TextBoxView.cs
- UnauthorizedWebPart.cs
- ProfileSettings.cs
- StoreItemCollection.cs
- SizeValueSerializer.cs
- AuthStoreRoleProvider.cs
- InvalidWMPVersionException.cs
- SafeEventLogReadHandle.cs
- SoapExtensionTypeElement.cs
- ListSortDescriptionCollection.cs
- XmlSerializerFactory.cs
- HttpClientProtocol.cs
- OrthographicCamera.cs
- TreeNodeStyleCollection.cs
- DivideByZeroException.cs
- WebControlsSection.cs