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
- LayoutTableCell.cs
- SystemFonts.cs
- MonitorWrapper.cs
- embossbitmapeffect.cs
- SQLBytesStorage.cs
- StateFinalizationDesigner.cs
- ListViewEditEventArgs.cs
- ProfileBuildProvider.cs
- ZipIOLocalFileBlock.cs
- TypeHelpers.cs
- Hex.cs
- HtmlContainerControl.cs
- DialogResultConverter.cs
- CodePropertyReferenceExpression.cs
- XmlToDatasetMap.cs
- XamlParser.cs
- LinkedResourceCollection.cs
- XD.cs
- ObjectDataSourceChooseTypePanel.cs
- ToolStripDesignerAvailabilityAttribute.cs
- BezierSegment.cs
- XhtmlStyleClass.cs
- MessageContractAttribute.cs
- TextSpanModifier.cs
- TdsParserSafeHandles.cs
- CorruptingExceptionCommon.cs
- ValidationResult.cs
- RelatedCurrencyManager.cs
- EncoderNLS.cs
- InfoCardAsymmetricCrypto.cs
- SecurityPermission.cs
- ExtensibleClassFactory.cs
- ClickablePoint.cs
- DirectoryObjectSecurity.cs
- Operator.cs
- DefaultProxySection.cs
- SecurityContext.cs
- XXXOnTypeBuilderInstantiation.cs
- DataSetUtil.cs
- CustomErrorCollection.cs
- RegexGroup.cs
- DataShape.cs
- FakeModelPropertyImpl.cs
- TriggerActionCollection.cs
- PictureBox.cs
- WebFormDesignerActionService.cs
- dataprotectionpermissionattribute.cs
- UIElementParaClient.cs
- CompositeControlDesigner.cs
- AssociationSetMetadata.cs
- MatrixAnimationBase.cs
- XamlDesignerSerializationManager.cs
- WebPartDisplayModeCollection.cs
- BindingNavigator.cs
- ListViewItem.cs
- CommonRemoteMemoryBlock.cs
- MetabaseSettings.cs
- SoapDocumentMethodAttribute.cs
- StructuredTypeInfo.cs
- WorkerRequest.cs
- NavigationEventArgs.cs
- _DigestClient.cs
- RemotingSurrogateSelector.cs
- EncodingNLS.cs
- DetailsViewUpdateEventArgs.cs
- InfoCardRSAOAEPKeyExchangeDeformatter.cs
- StorageComplexPropertyMapping.cs
- ChunkedMemoryStream.cs
- SocketException.cs
- SerializerProvider.cs
- XmlWrappingReader.cs
- ArgumentOutOfRangeException.cs
- GACMembershipCondition.cs
- MenuItem.cs
- HttpRawResponse.cs
- ClientScriptManager.cs
- CodeTypeDeclarationCollection.cs
- AttachedPropertyMethodSelector.cs
- SizeConverter.cs
- ASCIIEncoding.cs
- RegexWriter.cs
- ManagementBaseObject.cs
- TreeViewCancelEvent.cs
- LeaseManager.cs
- JavaScriptString.cs
- LogSwitch.cs
- ChannelHandler.cs
- FontFamilyIdentifier.cs
- Axis.cs
- Brushes.cs
- PasswordTextNavigator.cs
- ConnectionInterfaceCollection.cs
- DeviceContext2.cs
- TrackingServices.cs
- SectionInput.cs
- DemultiplexingClientMessageFormatter.cs
- Pen.cs
- Helper.cs
- SchemaHelper.cs
- ButtonRenderer.cs