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
- ConstructorArgumentAttribute.cs
- FileEnumerator.cs
- SafeSecurityHelper.cs
- ImageField.cs
- TextUtf8RawTextWriter.cs
- Visual3D.cs
- BasicHttpBindingElement.cs
- WorkItem.cs
- HwndMouseInputProvider.cs
- WebContext.cs
- ServiceParser.cs
- CollectionViewGroupRoot.cs
- Model3DCollection.cs
- MailMessage.cs
- ColorAnimationBase.cs
- GenericTransactionFlowAttribute.cs
- XslTransform.cs
- ListView.cs
- InputBindingCollection.cs
- ButtonColumn.cs
- BulletedList.cs
- WebServiceErrorEvent.cs
- DelegateBodyWriter.cs
- ImageListUtils.cs
- GeneralEndpointIdentity.cs
- OdbcCommandBuilder.cs
- XmlDataLoader.cs
- NoResizeHandleGlyph.cs
- PersistChildrenAttribute.cs
- XmlSchemaCollection.cs
- XamlInt32CollectionSerializer.cs
- MessageBox.cs
- DataSet.cs
- ChtmlPageAdapter.cs
- FileCodeGroup.cs
- httpserverutility.cs
- HttpModuleActionCollection.cs
- ItemAutomationPeer.cs
- SQLInt16.cs
- WebUtil.cs
- HttpServerVarsCollection.cs
- StylusCaptureWithinProperty.cs
- HtmlInputSubmit.cs
- SmtpReplyReaderFactory.cs
- Errors.cs
- FullTextState.cs
- SettingsPropertyValue.cs
- TableChangeProcessor.cs
- sqlmetadatafactory.cs
- _RequestCacheProtocol.cs
- SocketPermission.cs
- AutomationElementCollection.cs
- TextServicesManager.cs
- FileUtil.cs
- ThicknessKeyFrameCollection.cs
- DetailsViewDeleteEventArgs.cs
- DispatcherTimer.cs
- MissingFieldException.cs
- DataGridViewSelectedRowCollection.cs
- CapabilitiesUse.cs
- DigestTraceRecordHelper.cs
- NoneExcludedImageIndexConverter.cs
- PrintDialogException.cs
- EntityException.cs
- XmlSchemaInfo.cs
- ReflectEventDescriptor.cs
- Vars.cs
- SafeEventLogReadHandle.cs
- SecureEnvironment.cs
- QilTypeChecker.cs
- Bits.cs
- X509Chain.cs
- InputMethodStateTypeInfo.cs
- peernodeimplementation.cs
- ContractSearchPattern.cs
- DbDataReader.cs
- TextPointer.cs
- ToolBar.cs
- HtmlSelect.cs
- CompositeCollection.cs
- DateTimeValueSerializer.cs
- TemplateParser.cs
- DesignerForm.cs
- DataContractSet.cs
- DataGridViewComboBoxEditingControl.cs
- TraceHandlerErrorFormatter.cs
- ParallelTimeline.cs
- XmlSerializationReader.cs
- Light.cs
- TransactionException.cs
- RowToParametersTransformer.cs
- SelectionHighlightInfo.cs
- DateTimeValueSerializerContext.cs
- StorageEntityContainerMapping.cs
- TextDecorationCollectionConverter.cs
- IdentityHolder.cs
- XmlSchemaElement.cs
- TiffBitmapDecoder.cs
- OuterGlowBitmapEffect.cs
- UInt64.cs